1

米国の州を含む部門名のリストのインデックス作成をSOLRがうまく実行しています。それはうまく機能していますが、「Virginia」を検索すると「West Virginia」を含む結果が表示され、一部のビジネス要件には確かに役立ちますが、私たちにはありません。

XのクエリにYが含まれていてはならないという特別な言い方はありますか(「バージニア」の場合は特別なクエリを作成してもかまいません)、または結果を繰り返し処理することによってのみこのポストクエリを実行できますか? 「ウェストバージニア」の結果を除く?

4

2 に答える 2

5

マイナス記号 (ハイフン) を除外したいフレーズ/用語と組み合わせて使用​​します。dismax クエリ パーサーを使用する場合は、フィールド名を指定する必要さえありません。

例:

dismax を使用:

q=virginia -"west virginia"

標準のクエリパーサーを使用:

q=field_name:(virginia -"west virginia")

その他の例については、 Solr Query Syntax wiki ページとそのリンクを参照してください。

于 2012-10-24T05:11:39.137 に答える
0

文字列型の州フィールドを作成し、state:"virginia" で検索することができます (インデックス作成/検索の前に文字列を小文字にします)。

于 2012-10-29T00:02:07.760 に答える