我试图在特定字段中搜索特定的一组关键字keyword1
,keyword2
或keyword3
。我是通过使用查询来完成的,
http://localhost:8983/solr/gettingstarted_shard2_replica2/browse?q=keyword1 关键字2关键字3& qf = field1
但是,当我运行它时,它会在另一个字段keyword2
中找到field2
并返回该行!据我了解,qf:field1
参数限制了仅field1
对所有关键字的搜索?
我在哪里不正确?是因为我定义的架构吗?
我的架构配置是:
<field name="field1" type="text_general" indexed="true"/>
<field name="field2" type="strings" indexed="false"/>
答案 0 :(得分:0)
免责声明:我是Solr Query Debugger Google Chrome插件的作者。
我建议使用此调试器以查看执行的内容并解释为什么您的查询有这种奇怪的行为。
只需在浏览器中执行solr查询,然后启动Solr Query Debugger插件。
在插件页面中,您会看到Debug
和Echo
标签,其中说明了Solr执行的操作。在Explain
标签中,您会看到以树形结构的分数解释。
答案 1 :(得分:0)
您使用的是标准(默认)查询解析器还是eDisMax?如果是标准(最有可能),那么您需要使用 df 参数。
qf 参数与eDisMax一起使用,但您还需要defType = edismax
启用调试标志将显示实际发出搜索的字段。