【问题标题】:Solr - WhiteSpaceTokenizerFactory works for index but not while queryingSolr - WhiteSpaceTokenizerFactory 适用于索引,但不适用于查询
【发布时间】:2013-12-20 10:42:03
【问题描述】:

考虑以下架构,

<schema>

<types>
    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true" multiValued="false"/>
    <fieldType name="stop_analyzer_string" class="solr.TextField" multiValued="false">
       <analyzer type="index">
          <tokenizer class="solr.WhitespaceTokenizerFactory"/>
          <filter class="solr.LowerCaseFilterFactory"/>
          <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
          <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="50" side="front"/>
      </analyzer>
     <analyzer type="query">
       <tokenizer class="solr.WhitespaceTokenizerFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>
       <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
    </analyzer>
   </fieldType>
</types>

<fields>
   <field name="name_search" type="stop_analyzer_string" indexed="true" stored="false"/>
   <copyField source="name" dest="name_search"/>
   <field name="name" type="string" indexed="true" stored="true"/>
</fields>

</schema>

name 字段使用 WhitespaceTokenizerFactory 进行索引,但在使用 name 字段查询时似乎没有使用 WhitespaceTokenizerFactory。

对于名称为“solr search”的文档,
查询name_search:solr - 匹配文档。 //索引时间 WhiteSpace 标记器工作
查询name_search:search - 匹配文档。 //索引时间 WhiteSpace 标记器工作
但是查询 name_search:solr search - 不匹配文档。 //查询时间 WhiteSpace 分词器不起作用

但正如架构中指定的那样,查询也应该用空格标记并与文档匹配。没有?

【问题讨论】:

    标签: search solr lucene search-engine tokenize


    【解决方案1】:

    不确定您遗漏了什么,但以上所有查询都对您提到的数据有用。

    http://localhost:8983/solr/collection1/select?q=name_search%3Asolr+search&wt=xml&indent=true
    

    上面返回的结果文档我被索引了。

    只是为了测试这样做:

    http://localhost:8983/solr/#/collection1/documents
    

    去: 并将下面的文档按原样粘贴到您的文档部分并点击提交文档

    {"id":"100001","name_search":"solr search"}
    

    将查询运行为:

    http://localhost:8983/solr/collection1/select?q=name_search%3Asolr+search&wt=json&indent=true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-20
      • 2020-04-13
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多