我正在使用Bitnami Apache Solr 7.4.0(最新)
我索引了文件
现在在管理面板中用于查询搜索,我需要编写 field:value 格式
但是我只想搜索值
示例:
q = field:value(有效)
q = value(结果为0)
所以我应该在schema.xml文件中配置什么,该文件只能通过字段的值来搜索
答案 0 :(得分:0)
您不需要修改架构。您可以通过在requestHandler
文件中创建新的solrconfig.xml
来创建自己的请求处理程序,该请求处理程序可以根据您的要求执行查询操作。有关如何执行此操作的更多详细信息,请参见here。
话虽如此,我建议您首先了解一下solr中的查询基础知识,并了解q
,qf
,defType
等不同参数的工作方式以及哪些不同之处查询解析器(标准,dismax等)可供使用。参见this。
答案 1 :(得分:0)
没有什么特别的配置,但是您必须使用edismax或dismax查询解析器。进行这些查询分析是为了支持自由格式的用户输入,您可以仅使用.+ | Match one or more consecutive characters (any)
U | Match the letter "U"
.+ | Match one or more consecutive characters (any)
( | Capture the following:
\d+ | One or more consecutive digits
\. | The character "."
\d{2} | Exactly 2 consecutive digits
) | End capture
U | Match the letter "U"
.+ | Match one or more consecutive characters (any)
(\d+) | Capture one or more consecutive digits
g | Match the letter "g"
来使用它。您通过在查询URL中提供q=value
来告诉Solr使用edismax查询解析器。
由于要搜索的字段不再是实际查询的一部分,因此您可以通过给defType=edismax
参数来告诉edismax处理程序要搜索哪个字段。您可以在qf
中给多个字段,也可以使用语法qf
给每个字段不同的权重。
因此要获得与第一个示例相同的结果:
field^<weight>
答案 2 :(得分:0)
在Solr Admin->“查询”页面中,可以将字段名称添加到要将查询路由到的 df 。 df表示默认搜索字段。要使用该功能,您无需使用dismax或edismax解析器。 df将与标准查询解析器一起使用。因此,我希望这是您要寻找的。谢谢。