2016-11-25 6 views
0

2つのブロック結合句の間でORを実行する方法。例えばSOLR - ORを使用してブロック結合句のクエリを結合する

:私はフレーズ「のABC DEF」OR「HIJ LMN」を持つすべての親文書を検索したい

仮定は、ここで「ABCデフ」と「HIJ LMN」という別の子のドキュメントであり、すべての親ドキュメントは識別子DOC_TYPE持つ親論理的に

を、クエリは次のようになります。

({!parent which="doc_type:parent"}"abc def") OR ({!parent which="doc_type:parent"}"hij lmn")
このクエリは、スローう

EOF .org.apache.solr.search.SyntaxError: Cannot parse '\"abc': Lexical error at line 1, column 5.

が発生しました:後:\ "\\" のABC \ "" エラー。

ここにOR演算子があるので、私はfqと組み合わせることはできません。これをどうやって解決するのですか?

+0

こんにちは、ここで完全な質問をしてください。 –

+0

質問に投稿したのと同じ質問です。参照用にもう一度貼り付けてください:({!parent = "doc_type:parent"} "abc def")OR({!parent = "doc_type:parent"} "hij lmn ") – redeemed

+0

こんにちは、回答は更新されましたか?これにかなり拘束されています。 – redeemed

答えて

1

ブロックが 例えば ({ "DOC_TYPE:親" =親!} "のABC DEF")の構築に参加した後に、単一のスペースでお試しいただくか、({ "DOC_TYPE:親を" =親!} "HIJ LMNを" )

+0

ありがとう、これは動作します – redeemed

+0

このソリューションは、構文の問題を解決します。しかし、返されたクエリ結果は間違っています – redeemed

関連する問題