SOLR/Lucene多场QueryParser
我想查询Lucene索引并问一个问题“。字符串ABC是否出现在字段a中,字符串DEF是否出现在字段B中…”” 这两个条件(字段A中的ABC和字段B中的DEF)都必须是真的……我胡闹了 通过一些搜索,似乎没有找到正确的组合SOLR/Lucene多场QueryParser,solr,lucene,Solr,Lucene,我想查询Lucene索引并问一个问题“。字符串ABC是否出现在字段a中,字符串DEF是否出现在字段B中…”” 这两个条件(字段A中的ABC和字段B中的DEF)都必须是真的……我胡闹了 通过一些搜索,似乎没有找到正确的组合 任何想法/示例……似乎MultiFieldQueryParser就是答案,但到目前为止我运气不好。标准查询解析器支持此类查询,如: +fielda:ABC +fieldb:DEF +字符是必需的运算符,因此此查询需要在字段a:ABC和字段b:XYZ上进行匹配 有关更多信息,请
任何想法/示例……似乎MultiFieldQueryParser就是答案,但到目前为止我运气不好。标准查询解析器支持此类查询,如:
+fielda:ABC +fieldb:DEF
+
字符是必需的运算符,因此此查询需要在字段a:ABC
和字段b:XYZ
上进行匹配
有关更多信息,请参阅
multifiedqueryparser
用于在多个字段中自动搜索相同的内容,因此不完全是您要搜索的内容。在SOLR浏览器搜索中,URL上的q.OP=和将提供我正在寻找的安定条件。感谢您的回复…我正在浏览器中使用SOLR搜索并输入http://..../select?q=+fielda:ABC和+fieldb:DEF…这将返回fielda中有ABC或fieldb中有DEF的任何内容…我过去使用过Lucene搜索,并假定为SOLR我猜我错了。你确定这个查询是正确的吗?如果不是URL转义查询,则可能会丢失+
。最后的查询可能类似于:q=%2Bfielda:ABC%20%2Bfieldb:DEF
。另外,+this和+that
可能工作正常,但没有意义this和that
基本上是+this+that
的简写,所以我选择其中一个。我会选择+/-语法。它对lucene更有意义,而且更强大。