Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SOLR/Lucene多场QueryParser_Solr_Lucene - Fatal编程技术网

SOLR/Lucene多场QueryParser

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上进行匹配 有关更多信息,请

我想查询Lucene索引并问一个问题“。字符串ABC是否出现在字段a中,字符串DEF是否出现在字段B中…”

这两个条件(字段A中的ABC和字段B中的DEF)都必须是真的……我胡闹了 通过一些搜索,似乎没有找到正确的组合


任何想法/示例……似乎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更有意义,而且更强大。