solr
Luceneクエリの構文
サーチ…
近接検索
name:"john doe"~1
特定の用語の距離内に複数の用語を検索し(〜1)、すなわちジョン・匿名の雌ジカを含むテキストが、 ジョン・第二ではない名前の雌ジカがあります
基本的な検索
name:john
単一のフィールド(名前)内の単一の用語(joe)を検索します。
ブール検索
+firstname:john +surname:doe
firstnameがjohn、surnameがdoeのドキュメントと一致します。 + predixは、検索タームが発生しなければならないことを示します(AND)。
+firstname:john -surname:doe
firstnameがjohnであり、surnameがdoeでない文書に一致します。 - predixは、検索用語が出現してはならない (NOT)ことを示します。
+firstname:john surname:(doe bloggs)
firstnameがjohn、surnameがdoeまたはbloggsのドキュメントに一致します。接頭辞は、姓が出現することを示す(OR)
フレーズ検索
name:"john doe"
特定の順序で複数の用語を検索します。
検索語を上げる
name:(john doe^5)
^インジケータを使用すると、検索語を関連性レベルを上げるために上げることができます。これは、 doeを含む文書が、 johnを含む文書よりも関連性が高いことを意味します
ワイルドカード検索
name:john*
*インジケータを使用すると、検索用語johnの後に0文字以上のワイルドカード検索を行い、john、johnson、john's、johnnyなどのドキュメントを返します。
name:do?
?インジケータを使用すると、検索用語の1文字でワイルドカード検索を実行し、doe、dog、dotなどを含むドキュメントを返します。
範囲検索
age:[50 TO 60]
50歳から60歳までの50歳から60歳のドキュメントに一致します。
age:{50 TO 60}
50歳から60歳を除く50歳から60歳の間の文書に一致します。
age:[* TO 60]
年齢が60歳以下の文書と一致します。
age:[50 TO *]
年齢が50歳以上の文書に一致します。
age:{50 to 60]
波カッコと角カッコを混在させることができます。年齢が50歳以上60歳以下の文書に一致します。
コア間で参加
{!join from=personid to=id fromIndex=AddressCore}address:Address1
したがって、次のような2つのコアがあるとします。
PersonCore - ID、名前
AddressCore - id、address、personid
これにより、特定の住所にあるすべてのPersonCore文書が検索されます