2017-12-20 18 views
0

特定のフィールドでORクエリを作成できますか?たとえば、(main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))はできますか?通常のクエリの特定のフィールドで「OR」を使用して目的の結果を得ることができません。 Solrは特定のフィールドでORクエリを実行できますか?

私たちのバージョン(5.5)についてdocumentationを読んで、彼らのような特定のフィールド、なし例を使用します。

"jakarta apache" jakarta 

または

"jakarta apache" OR jakarta 

NOTE:フィルを使用して目的の結果を得ることができました。私の目標は、通常のクエリを使用して同じ結果を得ることです。動作するfqはmain_ref_number_tesim:(1920.1* 1920.2*)です。


EDIT1:動作するはずですが、動作しません、私が試してみました定期的なクエリは、以下のとおりです。

  1. (main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))
  2. main_ref_number_tesim:(1920.1* OR 1920.2*)
  3. main_ref_number_tesim:(1920.1* 1920.2*)
+0

はい、うまくいくはずです。 'main_ref_number_tesim:(1920.1 * OR 1920.2 *)'も動作するはずです。何を試してもうまくいかないのですか? – MatsLindh

+0

@MatsLindh right? EDIT1で既に試したクエリを追加しました。 – RudyOnRails

+0

これはフィールドのタイプにも依存します。トークンライザーが '.'で分割されている場合(standardtokenizerのようにiirc)、ワイルドカード検索を行うときに一致することはありませんが、それは変ですフィルタクエリが機能します。フィルタクエリと通常のクエリは同じですが、 'q 'の処理方法が異なるクエリパーサを使用している可能性があります。 – MatsLindh

答えて

0

はい、特定のフィールドのORを作成できます。

上記のコードのように、キーワードのリストを渡すと、OR演算がキーワードsolrによって適用されます。

これで問題は解決します。

+1

私はこの答えが春のデータソルについて話していると思いますが、春のデータではなく、一般的にはソルについての質問ではありませんか? – Persimmonium

+0

この回答の解釈方法がわかりません。 @ Persimmoniumのコメントに基づいて "春のデータソル"とする - そうだ、私はそれをhttps://projects.spring.io/spring-data-solr/で探査した。それはsolr APIとやりとりするためのDSLやプログラミング言語ですか? – RudyOnRails

関連する問題