<div dir="ltr"><div><div><div>村上です。<br><br>たしか、今のTokenTrigramはそんな感じでした。<br>(かなり久しぶりにGroongaのソース見ました)<br></div><br><a href="https://github.com/groonga/groonga/blob/master/lib/token_cursor.c#L248-L250">https://github.com/groonga/groonga/blob/master/lib/token_cursor.c#L248-L250</a><br>(1個目のトークンはUNMATUREDでGRN_TOKEN_REACH_ENDですがGRN_TOKEN_LASTじゃない)<br><br><a href="https://github.com/groonga/groonga/blob/master/lib/tokenizers.c#L433-L435">https://github.com/groonga/groonga/blob/master/lib/tokenizers.c#L433-L435</a><br><br></div>GET時のトークンが1個で、且つ、REACH_ENDの場合(字種境界じゃない場合)は、<br></div>TokenTrigramでも強制前方一致検索されるとよさそうに思いました。<br><br>以上です。<br><div><div><div><div><div><br></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015年5月21日 19:28 yoku ts. <span dir="ltr">&lt;<a href="mailto:yoku0****@gmail*****" target="_blank">yoku0****@gmail*****</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">こんばんは、yoku0825といいます。<br>
<br>
TokenTrigramでトークナイズした文書を2文字で検索したいのですが、<br>
TokenTrigramって「TokenBigramに1文字の検索文字列を投げた時のように前方一致で上手くやってくれる」機能はなかったりしますか?<br>
<br>
1文字のクエリーを投げると前方一致にすり替えてくれてそうなんですが、2文字はマッチ検索しているっぽいです。こういう仕様でしたっけ?<br>
<br>
<a href="https://gist.github.com/yoku0825/1da3aa16a2dd14e99f55" target="_blank">https://gist.github.com/yoku0825/1da3aa16a2dd14e99f55</a><br>
<br>
<br>
取り敢えずyumでmysql-community-mroongaを突っ込んだもので再現しています。<br>
<br>
<br>
( ´-`).oO(TokenBigramからTokenTrigramに乗り換えようとしたら、2文字のクエリーだけ盛大におかしくて。。<br>
( ´-`).oO(mroonga_match_escalation_thresholdを有効にしろとかそんな感じですかね…?<br>
<br>
<br>
yoku0825,<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" target="_blank">http://lists.osdn.me/mailman/listinfo/groonga-dev</a><br>
</blockquote></div><br></div>