立川弘明
stand****@gmail*****
2016年 4月 15日 (金) 17:33:24 JST
林さん
立川です。
回答ありがとうございます。
eachオプションは把握できました。
suggest_preparerについてもいくつかのテーブルにデータが登録されていることを
確認できました。
まだ各テーブルのカラム構成の理解などを進めているところではあるのですが、
ひとまずやりたいことがありまして、サジェストの結果にキーワードと対になる
独自IDも一緒に返して欲しいのです。
そこでこのようにカラム、データを追加しました。
column_create item_example country_id --type Int64
load --table item_example
[
{"_id": "1", "country_id": 99}
]
以下のクエリで欲しい結果を得ることができました。
suggest --table item_example --column kana --types complete
--frequency_threshold 1 --query ni --output_columns "_key, country_id,
_score"
[[0,1460708655.73562,0.00492739677429199],{"complete":[[1],[["_key","ShortText"],["country_id","Int64"],["_score","Int32"]],["日本",99,2]]}]
このような使い方をしても問題ないでしょうか。
よろしくお願いいたします。
2016年4月13日 22:40 HAYASHI Kentaro <hayas****@clear*****>:
> 林です。
>
> 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 mailing list
> groon****@lists*****
> http://lists.osdn.me/mailman/listinfo/groonga-dev