Java 如何在Solr 5.5.0中添加AND和OR运算符
我使用的是Solr 5.5.0,目前应用程序正在使用“and”操作符进行搜索,但没有指定它。例如:我搜索程序员开发人员,它会给我文件的结果,上面写着“程序员和开发人员”。配置在solrconfig.xml中完成Java 如何在Solr 5.5.0中添加AND和OR运算符,java,solr,lucene,solr5,Java,Solr,Lucene,Solr5,我使用的是Solr 5.5.0,目前应用程序正在使用“and”操作符进行搜索,但没有指定它。例如:我搜索程序员开发人员,它会给我文件的结果,上面写着“程序员和开发人员”。配置在solrconfig.xml中完成 100% 但我现在需要对其进行更改,以使其同时使用两个运营商: 当我写程序员和开发人员并给出包含这两个词的文件的结果时 当我编写程序员或开发人员并给出包含一个或另一个单词的文件的结果时 你能告诉我该怎么做吗?我在互联网上浏览了这些信息,但没有找到答案。据我所知,SOLR中有一个字段,您
100%
但我现在需要对其进行更改,以使其同时使用两个运营商:
你能告诉我该怎么做吗?我在互联网上浏览了这些信息,但没有找到答案。据我所知,SOLR中有一个字段,您需要在该字段上搜索该单词。我将SOLR字段命名为“job”,其值为“programmer”或“developer”。 您不需要在solrconfig中更改任何内容,您可以在查询中进行更改 SOLR使用的默认查询解析器是。此解析器支持诸如AND、OR等布尔运算符 您可以按如下方式搜索结果: 用于搜索程序员和开发人员
localhost:8983/solr/select?q=job:programmer AND job:developer
localhost:8983/solr/select?q=job:programmer OR job:developer
用于搜索程序员或开发人员
localhost:8983/solr/select?q=job:programmer AND job:developer
localhost:8983/solr/select?q=job:programmer OR job:developer
希望这有帮助。您可以通过在requestHandler上设置默认值,在
solrconfig.xml
中定义默认运算符:
<requestHandler name="search" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="q.op">AND</str>
...
我们可以使用LocalParams作为该查询字符串的前缀,以向查询解析器提供更多信息,例如,将lucene查询解析器的默认运算符类型更改为“AND”,将默认字段更改为“title”:
q={!q.op=AND df=title}solr rocks