1

我正在使用 Solr 版本 5 来搜索数据。我正在使用以下查询,它在所有字段中搜索关键字。

http://localhost:8983/solr/document/select?q=keyword1+keyword2&wt=json

谁能建议我查询以仅在title字段中搜索关键字。

谢谢。

4

3 回答 3

5

利用

   http://localhost:8983/solr/document/select?q=title:*yourkeyword*&wt=json

或完全匹配

   http://localhost:8983/solr/document/select?q=title:"yourkeyword"&wt=json
于 2015-12-25T21:03:54.447 回答
1

如果没有一些额外的工作,您无法在所有字段中搜索关键字:

如何搜索 SOLR 中包含关键字的所有字段,.?

“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 您不能在所有字段中搜索,但可以在所有字段中突出显示 :-)

于 2015-12-26T14:20:49.827 回答
0

最好的方法是从 Admin concole 运行查询。当我们运行它时,它还提供了实际执行的 SQL 查询。只需复制查询并使用它。

关于问题:从 Solr 中搜索特定字段值。在管理控制台中查找“Q”文本框。写 yourfield=value 或 yourfield:value。点击“执行查询”按钮。右上角的 SQL 将可用。

生成的查询:......select?indent=on&q=YOURFIELD:"VALUE"&wt=json

于 2017-07-05T09:59:34.567 回答