0

schema.xml で defaultOperator を「AND」に設定しました。 <solrQueryParser defaultOperator="AND"/>

クエリで defType=eDismax を使用します。非常にうまく機能しますが、「AND」または「OR」演算子を使用したい場合、演算子なしで残した空白のデフォルト演算子として「AND」を使用しません。

例:

field1:a field2:bは、 field1:a AND field2:bと同じことを行います: OK

field1:a OR field2:b : OK、必要な結果がすべてあります

しかし

field1:a (field2:b OR field2:c)は、field1:a OR (field2:b OR field2:c) と同じことを行います: それは問題です

その場合でも、デフォルトの演算子として「AND」を使用するように強制するにはどうすればよいですか?

4

1 に答える 1

0

残念ながら、これは既知の問題です。次の 2 つの解決策があります。

  1. アップストリームで修正する (おそらく非常に難しい)
  2. ユーザーのクエリを受信したら修正します (おそらくエラーが発生しやすくなります)。

私もこれに遭遇しています。サイト atm には簡単な解決策がないように見えます。あなたはバグに投票することができます...しかし、それが多くのことをするかどうかはわかりません.

于 2012-01-22T10:43:01.377 に答える