Solr 5如何在特定领域进行搜索

时间:2015-12-25 19:59:52

标签: solr lucene solr5

我使用Solr版本5搜索数据。我使用下面的查询在所有字段中搜索关键字。

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

任何人都可以建议我查询仅在title字段中搜索关键字。

感谢。

3 个答案:

答案 0 :(得分:4)

使用

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

或完全匹配

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

答案 1 :(得分:1)

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

How can I search all field in SOLR that contain the keywords,.?

" q" -Parameter包含查询字符串,对于标准解析器,这意味着您必须通过冒号指定字段,如

fieldname:searchterm

或标准解析器将使用默认字段。默认字段在" df" -Parameter中指定,如果您没有更改solrconfig.xml,则将在" text" -Field中搜索,因为您会找到类似

<requestHandler name="/select" class="solr.SearchHandler">
  <lst name="defaults">
    <str name="df">text</str>
  </lst>
</requestHandler>

P.S。如果您要在所有字段中搜索,您要将copy所有字段内容都添加到一个字段,或者您必须使用特定的查询解析器,例如dismax parser,您可以在其中列出&#中的所有字段34; QF&#34; - 参数

P.P.S。您无法在所有字段中搜索,但可以在所有字段中突出显示: - )

答案 2 :(得分:0)

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

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

生成的查询:......选择?indent = on&amp; q = YOURFIELD:&#34; VALUE&#34;&amp; wt = json