[groonga-dev,04009] Re: サジェスト機能の補完のチュートリアルにあるloadコマンドについて

Back to archive index

HAYASHI Kentaro hayas****@clear*****
2016年 4月 13日 (水) 22:40:13 JST


林です。

On Wed, 13 Apr 2016 19:52:56 +0900
立川弘明 <stand****@gmail*****> wrote:

> 立川と申します。
> 
> サジェスト機能を使いたく、下記を参考に動作を確かめています。
> http://groonga.org/ja/docs/reference/suggest/completion.html
> 
> 
> 「7.18.2.4. 読みデータの更新方法」で質問なのですが、
> 
> ・loadコマンドのeachオプション
> 
> ・suggest_preparer
> 
> の機能、動作がわからないので教えていただけないでしょうか。

ものすごくざっくり説明すると、eachオプションはloadで読み込む「それぞれの」
データに対し何か処理を適用したいときに使います。

  load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)'
  [
  {"sequence": "1", "time": 1312950805.86058, "item": "日本", "type": "submit"}
  ]

この例だとデータは1つしかありませんが、登録するときにはsuggest_preparer()を適用するよ、ということです。

  load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)'

で、補完するためにはqueryというデータセットに対して、学習用データを適宜登録
しないといけませんが、そのための便利関数がsuggest_preparerです。

suggest_preparerを使うと、event_queryテーブルだけでなく、item_queryやpair_query,
sequence_queryといったサジェスト機能で使われる関連テーブル
(groonga-sugguest-create-datasetで作成しましたよね)に与えたデータをパースして
学習データとしていい感じに登録してくれるようになっています。

この部分はひとまずイディオムみたいなものだと思っていればいいのではないかと思います。
もっと詳しいことを知りたいです!というと多分誰かが解説してくれるはず。

サジェスト機能については、↓の記事がもしかしたら入門向けとして参考になるかもしれません。

  全文検索エンジンgroongaでサジェスト機能(補完)を使ってみる
  http://qiita.com/groonga/items/891ceade90ca45df6462

  全文検索エンジンGroongaでサジェスト機能(補正)を使ってみる
  http://qiita.com/groonga/items/97ac93a083bea0b3527b

  全文検索エンジンGroongaでサジェスト機能用のコマンドラインツールを使ってみる
  http://qiita.com/groonga/items/263a6d84d1ef0a59e962

> また、
> groonga-suggest-create-dataset suggest.db example
> を実行した後、「7.18.2.2. 使い方」 のクエリを発行するとエラーとなります。
> item_query -> item_example
> event_query -> event_example
> とすると通るので記述ミスかなと思っています。
> 

これは確かにtypoだと思います。
報告ありがとうございます!直しておきます。

-- 
HAYASHI Kentaro <hayas****@clear*****>




groonga-dev メーリングリストの案内
Back to archive index