SOLR - 使用OR组合块连接短语查询

时间:2016-11-25 07:55:36

标签: solr lucene

如何在两个块连接子句之间执行OR。

例如:我想找到所有包含短语" abc def"或者" hij lmn"

这里的假设是" abc def"和" hij lmn"在不同的子文档中,所有父文档都有标识符doc_type:parent

逻辑上,查询将是:

({!parent which="doc_type:parent"}"abc def") OR ({!parent which="doc_type:parent"}"hij lmn")
此查询将抛出

  

EOF .org.apache.solr.search.SyntaxError:无法解析' \" abc':Lexical   第1行第5列错误。

遇到:之后: \" \\" abc \""错误。

我无法与fq合并,因为我在这里有一个OR运算符。我们如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

在块连接构造之后尝试使用单个空格 例如 ({!parent which =“doc_type:parent”}“abc def”)或({!parent which =“doc_type:parent”}“hij lmn”)

答案 1 :(得分:0)

Yonik Seeley在以下链接中回答了这个问题 http://comments.gmane.org/gmane.comp.jakarta.lucene.solr.user/95646

轻松引用答案: ({!parent which =" doc_type:parent" v ='" abc def"'}) 要么 ({!parent which =" doc_type:parent" v ='" hij lmn"'})