我正在使用 Solr 版本 5 来搜索数据。我正在使用以下查询,它在所有字段中搜索关键字。
http://localhost:8983/solr/document/select?q=keyword1+keyword2&wt=json
谁能建议我查询以仅在title
字段中搜索关键字。
谢谢。
利用
http://localhost:8983/solr/document/select?q=title:*yourkeyword*&wt=json
或完全匹配
http://localhost:8983/solr/document/select?q=title:"yourkeyword"&wt=json
如果没有一些额外的工作,您无法在所有字段中搜索关键字:
“q”-参数包含查询字符串,对于标准解析器,这意味着您必须通过冒号指定字段,如
fieldname:searchterm
或者标准解析器将使用默认字段。默认字段在“df”-Parameter 中指定,如果您没有更改 solrconfig.xml,您将在“text”-Field 中搜索,因为您会找到类似
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="df">text</str>
</lst>
</requestHandler>
PS 如果要在所有字段中搜索,则必须将所有字段内容复制到一个字段,或者必须使用特定的查询解析器,例如dismax parser,您可以在“qf”参数中列出所有字段。
PPS 您不能在所有字段中搜索,但可以在所有字段中突出显示 :-)
最好的方法是从 Admin concole 运行查询。当我们运行它时,它还提供了实际执行的 SQL 查询。只需复制查询并使用它。
关于问题:从 Solr 中搜索特定字段值。在管理控制台中查找“Q”文本框。写 yourfield=value 或 yourfield:value。点击“执行查询”按钮。右上角的 SQL 将可用。
生成的查询:......select?indent=on&q=YOURFIELD:"VALUE"&wt=json