<div dir="ltr">瀬戸です。<div><br></div><div>須藤さん、ありがとうございます。</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">参照型の(ベクター)カラムの値に対して全文検索する場合は「ネ<br>ストした検索」機能を使う必要があります。(もっとパッとした名<br>前があるといいなぁと思っています。。。)<br>ドキュメントではここらへんで触れられているやつです。<br> <a href="http://groonga.org/ja/docs/tutorial/match_columns.html#nested-index-search-among-related-table-by-column-index" rel="noreferrer" target="_blank">http://groonga.org/ja/docs/tutorial/match_columns.html#nested-index-search-among-related-table-by-column-index</a><br>今回の例だと↓のようにすると使えます。<br>ポイントは<br> * Vector._keyに対して全文検索用のインデックスを作ること<br> * VectorにEntry.vectorに対するインデックスを作ること<br> * 検索するときはvector._key @ "..."とすること</blockquote><div class="gmail_extra">なるほど、このようにするのでしたか。</div><div class="gmail_extra">今月は勉強会に行けそうにないのですが、また参加したいと思います。</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-18 9:56 GMT+09:00 Kouhei Sutou <span dir="ltr"><<a href="mailto:kou****@clear*****" target="_blank">kou****@clear*****</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">須藤です。<br>
<br>
In <CANUhGj1hMj+UEAF=<a href="mailto:jrcN7tbcoC%2B98p****@mail*****">jrcN7****@mail*****</a>><br>
"[groonga-dev,03941] Re: ベクターカラムの全文検索について" on Thu, 18 Feb 2016 09:09:13 +0900,<br>
<span class=""> Seto Ryuta <<a href="mailto:rseto****@gmail*****">rseto****@gmail*****</a>> wrote:<br>
<br>
> ベクターカラムのタグ検索(一致検索)とドリルダウンは、以下のような形で参照テーブルを使っていたのですが、<br>
> 同じような設定で全文検索をしようとすると語彙表にデータが登録されなかったため、質問をさせていただきました。<br>
> (スキーマのどこかが間違っていると思うのですが。。。)<br>
> ベクターカラムの全文検索についてはShortTextを型として利用することに致します。ありがとうございました。<br>
<br>
</span>参照型の(ベクター)カラムの値に対して全文検索する場合は「ネ<br>
ストした検索」機能を使う必要があります。(もっとパッとした名<br>
前があるといいなぁと思っています。。。)<br>
<br>
ドキュメントではここらへんで触れられているやつです。<br>
<a href="http://groonga.org/ja/docs/tutorial/match_columns.html#nested-index-search-among-related-table-by-column-index" rel="noreferrer" target="_blank">http://groonga.org/ja/docs/tutorial/match_columns.html#nested-index-search-among-related-table-by-column-index</a><br>
<br>
今回の例だと↓のようにすると使えます。<br>
ポイントは<br>
<br>
* Vector._keyに対して全文検索用のインデックスを作ること<br>
* VectorにEntry.vectorに対するインデックスを作ること<br>
* 検索するときはvector._key @ "..."とすること<br>
<br>
です。<br>
一番大事なことは真ん中の「VectorにEntry.vectorに対するインデッ<br>
クスを作ること」です。これにより、Vector._keyでヒットした要<br>
素を含むEntryのレコードを見つけることができるようになります。<br>
<br>
このあたりの動きは絵を描くとわかりやすいんですよねぇ。<br>
「Groongaで学ぶ全文検索 2016-02-26」<br>
<a href="https://groonga.doorkeeper.jp/events/39274" rel="noreferrer" target="_blank">https://groonga.doorkeeper.jp/events/39274</a><br>
に来てもらえれば絵を描いて説明します。<br>
<br>
あ、そういえば、今回は19:30から開場していて、20:00前に来た人<br>
向けに個別に相談を受け付ける予定です。<br>
<br>
--<br>
<span class="">table_create Entry TABLE_HASH_KEY ShortText<br>
table_create Vector TABLE_PAT_KEY ShortText<br>
column_create Entry vector COLUMN_VECTOR Vector<br>
<br>
table_create BigramTerms TABLE_PAT_KEY ShortText \<br>
--default_tokenizer TokenBigramSplitSymbolAlpha \<br>
--normalizer NormalizerAuto<br>
</span>column_create BigramTerms vector_key COLUMN_INDEX|WITH_POSITION Vector _key<br>
<br>
column_create Vector entry_vector COLUMN_INDEX Entry vector<br>
<span class=""><br>
load --table Entry<br>
[<br>
{"_key":1, "vector":["Head First Groonga", "Head First Mroonga"]},<br>
{"_key":2, "vector":["Head First Mroonga", "Head First Rroonga"]}<br>
]<br>
<br>
</span>select --table Entry --filter 'vector._key @ "Rroonga"' --output_pretty yes<br>
# [<br>
# [<br>
# 0,<br>
# 1455756640.40757,<br>
# 0.000497341156005859<br>
# ],<br>
# [<br>
# [<br>
# [<br>
# 1<br>
# ],<br>
# [<br>
# [<br>
# "_id",<br>
# "UInt32"<br>
# ],<br>
# [<br>
# "_key",<br>
# "ShortText"<br>
# ],<br>
# [<br>
# "vector",<br>
# "Vector"<br>
# ]<br>
# ],<br>
# [<br>
# 2,<br>
# "2",<br>
# [<br>
# "Head First Mroonga",<br>
# "Head First Rroonga"<br>
# ]<br>
# ]<br>
# ]<br>
# ]<br>
# ]<br>
--<br>
<span class=""><font color="#888888"><br>
<br>
--<br>
須藤 功平 <<a href="mailto:kou****@clear*****">kou****@clear*****</a>><br>
株式会社クリアコード <<a href="http://www.clear-code.com/" rel="noreferrer" target="_blank">http://www.clear-code.com/</a>><br>
<br>
Groongaベースの全文検索システムを総合サポート:<br>
<a href="http://groonga.org/ja/support/" rel="noreferrer" target="_blank">http://groonga.org/ja/support/</a><br>
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:<br>
<a href="http://www.clear-code.com/recruitment/" rel="noreferrer" target="_blank">http://www.clear-code.com/recruitment/</a><br>
リーダブルコードワークショップ:<br>
<a href="http://www.clear-code.com/services/code-reader/readable-code-workshop.html" rel="noreferrer" target="_blank">http://www.clear-code.com/services/code-reader/readable-code-workshop.html</a><br>
</font></span><div class=""><div class="h5"><br>
_______________________________________________<br>
groonga-dev mailing list<br>
<a href="mailto:groon****@lists*****">groon****@lists*****</a><br>
<a href="http://lists.osdn.me/mailman/listinfo/groonga-dev" rel="noreferrer" target="_blank">http://lists.osdn.me/mailman/listinfo/groonga-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">-----------------------------------------------------------<br>瀬戸隆太<br>E-mail: <a href="mailto:rseto****@gmail*****" target="_blank">rseto****@gmail*****</a><br>-----------------------------------------------------------<br></div></div>
</div></div>