Php 查询搜索必须使用Solr查询字段

Php 查询搜索必须使用Solr查询字段,php,solr,lucene,Php,Solr,Lucene,我正在使用Bitnami Apache Solr 7.4.0(最新版本) 我在索引文件 现在在查询搜索的管理面板中,我需要写入字段:value格式 但我只想用值搜索 例如: q=字段:值(它工作) q=值(它给出0个结果) 所以,我应该在schema.xml文件中配置什么,我只能通过字段的值来搜索,而无需修改schema。通过在solrconfig.xml文件中创建新的requestHandler,您可以创建自己的请求处理程序,该处理程序可以根据您的需求执行查询操作。有关如何执行此操作的更多详细

我正在使用Bitnami Apache Solr 7.4.0(最新版本)

我在索引文件

现在在查询搜索的管理面板中,我需要写入字段:value格式

但我只想用值搜索

例如:

q=字段:值(它工作)

q=值(它给出0个结果)


所以,我应该在schema.xml文件中配置什么,我只能通过字段的值来搜索,而无需修改schema。通过在
solrconfig.xml
文件中创建新的
requestHandler
,您可以创建自己的请求处理程序,该处理程序可以根据您的需求执行查询操作。有关如何执行此操作的更多详细信息,请参阅


话虽如此,我建议您首先了解solr中查询的基础知识,并了解不同参数(如
q
qf
defType
等)是如何工作的,以及可以使用哪些不同的查询解析器(standard、dismax等)。请参阅。

没有特殊配置,但您必须使用edismax或dismax查询解析器。这些查询解析是为了支持自由形式的用户输入,您可以将其与
q=value
一起使用。您可以通过在查询URL中提供
defType=edismax
来告诉Solr使用edismax查询解析器

由于要搜索的字段不再是实际查询的一部分,因此您可以通过提供
qf
参数来告诉edismax处理程序要搜索哪个字段。您可以在
qf
中指定多个字段,并且可以使用语法
field^
为每个字段指定不同的权重

因此,要获得与第一个示例相同的结果:

?q=value&defType=edismax&qf=field
在Solr Admin-->查询页面中,您可以将字段名添加到要将查询路由到的df。df表示默认搜索字段
。要使用,不需要使用Demax或eDisk解析器。df将使用标准查询解析器本身。所以,我希望这就是你想要的。谢谢