我正在寻找一种查询多个字段中的值的方法。基本上,我正在建立一个简单的搜索引擎,用户可以在其中键入。 “ 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
这有效:|但是仅复制这样的粘贴值似乎不正确。
是否有正确的方法?我已经对此进行了一段时间的研究,但尚未找到解决方案。
感谢您的帮助, 谢谢
答案 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>