Solrに送信した検索クエリは、対象のフィールド型に基いて分解した上で実行される
例えば、フィールド型 text_cjk (2-gram) への検索クエリを発行した場合、以下のようなリクエストになると思いますが、
localhost:8983/solr/core/select?q=さくら
(なお、クエリはURLエンコード処理すること)
Solrは受け取ったクエリ「さくら」を、対象のフィールド型に基いて 「さく」「くら」に分解し、それぞれの検索結果を返します。
このため、「さく」や「くら」のみが含まれるドキュメント(RDBでいうレコード)も結果として返ってきてしまいます。(例えば「くら寿司」や「くらった」とか)
これを解決するには、フレーズ検索を使います。以下のようにダブルクォーテーションで囲ってやります。
localhost:8983/solr/core/select?q="さくら"
これで「さくら」が含まれるドキュメントだけが返ってくるようになります。
AND検索も出来ます。
localhost:8983/solr/core/select?q="さくら" AND "咲いた"
あとは、これぐらいですが、こっちのエントリで書いています。
0 件のコメント :
コメントを投稿