コマンドがqueryパラメータを使ってどのように検索するのかを説明します。どのように検索の挙動を使い分けているかを説明する前に、まず、それぞれの検索の挙動を説明します。複数の語彙にトークナイズ(分割)され、それぞれを単位とした語彙表に索引を管理します。検索キーワードも同一の方法でトークナイズされます。このとき、検索キーワードをトークナイズした結果得られる語彙の配列と同一の配列を含む文書を検索する処理を完全一致検索と呼んでいます。都民という二つの語彙の配列として格納されます。都という二つの語彙の配列として処理されます。都民」という語彙の並びには一致しませんので、完全一致検索ではヒットしません。民という四つの語彙の配列として格納されます。京都という二つの語彙の配列として処理されます。都民」という語彙の並びに含まれますので、完全一致検索でヒットします。ついてはbigramを生成せず、一つの連続したトークンとして扱います。billiardという三つの語彙の配列として格納されます。これに対して「bill」というキーワードで検索した時、このキーワードは、billという一つの語彙として処理されます。billiard」という語彙の並びには含まれないので、完全一致でヒットしません。dという十一の語彙の配列として格納されます。llという三つの語彙として処理されます。d」という語彙の並びに含まれるので、完全一致でヒットします。非わかち書き検索はパトリシア木で語彙表を構築している場合のみ利用可能です。非わかち書き検索の挙動はTokenBigramなどN-gram系のトークナイザーを利用している場合とTokenMecabトークナイザーを利用している場合で挙動が変わります。N-gram系のトークナイザーを利用している場合はキーワードで前方一致検索をします。「bill」というキーワードで検索した場合、「bill」も「billiard」もヒットします。TokenMeCabトークナイザーの場合はわかち書き前のキーワードで前方一致検索をします。「スープカレー」というキーワードで検索した場合、「スープカレーバー」(1単語扱い)にヒットしますが、「スープカレー」(”スープ”と”カレー”の2単語扱い)や「スープカレーライス」(”スープ”と”カレーライス”の2単語扱い)にはヒットしません。パトリシア木で語彙表を構築していて、かつ、KEY_WITH_SISオプションを指定している場合のみ利用可能です。KEY_WITH_SISオプションが指定されていない場合は非わかち書き検索と同等です。部分一致検索の挙動はTokenBigramなどN-gram系のトークナイザーを利用している場合とTokenMecabトークナイザーを利用している場合で挙動が変わります。Bigramの場合は前方一致検索と中間一致検索と後方一致検索を行います。「ill」というキーワードで検索した場合、「bill」も「billiard」もヒットします。TokenMeCabトークナイザーの場合はわかち書き後のキーワードで前方一致検索と中間一致検索と後方一致検索をします。「スープカレー」というキーワードで検索した場合、「スープカレー」(”スープ”と”カレー”の2単語扱い)や「スープカレーライス」(”スープ”と”カレーライス”の2単語扱い)、「スープカレーバー」(1単語扱い)にもヒットします。検索の使い分け¶Groongaは基本的に完全一致検索のみを行います。完全一致検索でのヒット件数が所定の閾値以下の場合に限り、非わかち書き検索を行い、それでもヒット件数が閾値以下の場合は部分一致検索を行います。(閾値のデフォルト値は0です。)ただし、すでに検索結果セットが存在する場合はたとえヒット件数が閾値以下でも完全一致検索のみを行います。スープカレーしかし、以下のように全文検索を行う前に検索結果セットが存在する場合は完全一致検索のみを行います。\"スープカレー\""'そのため、descriptionに「スープカレーライス」が含まれていても、「スープカレーライス」は「スープカレー」に完全一致しないのでヒットしません。