SOLR:在多个字段中搜索值

时间:2020-10-06 18:26:20

标签: solr lucene

我正在寻找一种查询多个字段中的值的方法。基本上,我正在建立一个简单的搜索引擎,用户可以在其中键入。 “ Java How to XML JSON”,它将在3个不同的字段categories, tags, description中搜索这些值。

我在某个博客上阅读过,我应该查询所有字段q=*:*,然后根据这些字段进行过滤,例如fq=categories:java,xml,how,to,json description:java,xml,how,to,json tags:java,xml,how,to,json

这有效:|但是仅复制这样的粘贴值似乎不正确。

是否有正确的方法?我已经对此进行了一段时间的研究,但尚未找到解决方案。

感谢您的帮助, 谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用defType=edismax获取扩展的dismax处理程序。这旨在处理用户键入的查询(即您键入的内容)。然后,您可以使用qf(查询字段)来告诉edismax处理程序您要搜索哪些字段(以及每个字段的可选权重):

q=Java How to XML JSON&defType=edismax&qf=categories^5 tags description

..将在所有字段中搜索字符串“ Java How to XML JSON”的每个部分,并且categories字段中的任何匹配的权重将比其他两个字段中的匹配高五倍。 / p>