Solr在字符串中搜索

时间:2016-02-10 16:30:34

标签: solr

我在docs中有字段:

<str name="ss_field_condition">new</str>

当我用完整的字符串“new”搜索时,我看不到这个项目。

http://localhost:8983/solr/site/select?indent=on&version=2.2&q=new&fq=&start=0&rows=10&fl=*%2Cscore&wt=&debugQuery=on&explainOther=&hl.fl=

但是当我用“ss_field_condition:new”

进行搜索时,我看到很多项目
http://localhost:8983/solr/site/select?indent=on&version=2.2&q=ss_field_condition%3Anew&fq=&start=0&rows=10&fl=*%2Cscore&wt=&debugQuery=on&explainOther=&hl.fl=

这个领域很有效。

来自schema.xml的

<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>

如何在此字段中启用搜索?版本是3.6.2。感谢

1 个答案:

答案 0 :(得分:0)

似乎您使用的是standard parser,因为您未在网址中指定defType param。

您还没有指定要搜索的字段,它将使用schema.xml中配置的默认字段。请参阅:Set default search fields in Apache Solr

如果您想搜索指定的字段,可以参考以下几个例子:

  • 搜索title字段:

      

    Q = “+名称:新的”

  • 搜索title字段 content字段, 匹配:

      

    q =“title:java content:java”

  • 搜索title字段 content字段,两者匹配:

      

    q =“title:java + content:java”

更多提示:

  • Solr已经在5.4.1版本中,因此尽可能尝试升级您的版本,自版本3.x起有很大的变化,例如solr cloud

  • 使用edismax解析器功能更强大,您可能需要它。

  • 如果要搜索字段,请不要忘记将其编入索引,即使对于字符串类型也是如此。