morit****@razil*****
morit****@razil*****
2014年 9月 24日 (水) 20:06:28 JST
こんにちは。森です。 こちらですが、' "tomorrow fine" ' のように、二重引用符で括るとどうでしょうか? クエリ文字列中に空白が入っているとその前後は別のクエリ要素と解釈されてしまいます。 つまり、「'tomorrow' と 'fine' が現れる」という意味になります。 二重引用符で括った文字列は一つのフレーズとして解釈されますので、 「'tomorrow'と'fine'が隣接して現れる」という意味になり、 'fine tomorrow'にマッチしなくなるのではないかと思います。 2014-09-24 19:06 GMT+09:00 Kazuhiko <kazuh****@fdiar*****>: > 須藤さん、こんにちは。 > > On 24/09/2014 11:46, Kouhei Sutou wrote: > >> ただ、Boolean Modeで、TokenBigramSplitSymbolAlphaDigitだと'fine'が'nefi' > >> にマッチしなくて、TokenBigramだと'tomorrow fine'が'fine tomorrow'にマッ > >> チするのは、前者の検索語の'fi, in, ne'というトークンと後者の検索語の > >> 'fine, tomorrow'というトークンは何かが違うということでしょうか? > > > > 「fine」はfi, in, neが連続して出現するというクエリーで、 > > 「tomorrow fine」は > > > > * to, om, mo, or, rr, ro, orが連続して出現して、かつ! > > * fi, in, neが連続して出現する > > > > というクエリー、という違いになります! > > TokenBigramSplitSymbolAlphaDigitでの'fine' > > > TokenBigramSplitSymbolAlphaDigit > > > バイグラムでトークナイズする。TokenBigramSplitSymbolAlphaに加えて、連続した数字も特別扱いせずに通常のバイグラムの処理を行う。つまり、すべての字種を特別扱いせずにバイグラムの処理を行う。 > > vs > > TokenBigramでの'tomorrow fine' > > > TokenBigram > > > バイグラムでトークナイズする。ただし、連続したアルファベット・連続した数字・連続した記号はそれぞれ1つのトークンとして扱う。そのため、3文字以上のトークンも存在する。これはノイズを減らすためである。 > > なので、後者のトークンは'tomorrow'と'fine'ではないでしょうか? > > かずひこ > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev >