groonga - オープンソースのカラムストア機能付き全文検索エンジン

5.5. 提案

このセクションでは以下の補完機能について説明します。:

  • どのように動作するか
  • 使い方
  • 学習方法

5.5.1. どのように動作するか

提案機能は提案する語を計算するために1種類の検索を使います。:

  1. 学習したデータを共起検索。

5.5.2. 使い方

groongaは提案機能を使うために suggest コマンドを用意しています。 --type suggest オプションを使うと提案機能を利用できます。

例えば、"search"と入力した時の提案結果を取得するコマンドは以下の通りです。:

実行例:

> suggest --table item_query --column kana --types suggest --frequency_threshold 1 --query search
[
  [
    0,
    1335519581.87931,
    0.000770807266235352
  ],
  {
    "suggest": [
      [
        2
      ],
      [
        [
          "_key",
          "ShortText"
        ],
        [
          "_score",
          "Int32"
        ]
      ],
      [
        "search engine",
        1
      ],
      [
        "web search realtime",
        1
      ]
    ]
  }
]

5.5.3. 学習方法

共起検索は学習データを使います。学習データはクエリログやアクセスログなどを元に作成します。学習データを作成するには、タイムスタンプ付きの入力シーケンスと、タイムスタンプ付きの検索実行時の入力内容が必要です。

例えば、ユーザが"engine"で検索したいとします。ユーザが以下のようなシーケンスで検索クエリを入力したとします。:

  1. 2011-08-10T13:33:25+09:00: search engine (検索実行)
  2. 2011-08-10T13:33:28+09:00: web search realtime (検索実行)

以下のコマンドで上記の検索実行結果から学習します。:

load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)'
[
{"sequence": "1", "time": 1312950803.86057, "item": "search engine", "type": "submit"},
{"sequence": "1", "time": 1312950808.86057, "item": "web search realtime", "type": "submit"}
]

目次

前のトピックへ

5.4. 補正

次のトピックへ

6. 位置情報検索

このページ