排序不在solr中处理text_general类型

时间:2016-12-27 06:16:00

标签: sorting solr

text_general定义为

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" >
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <!-- in this example, we will only use synonyms at query time
    <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
    -->
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.PorterStemFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

我有另一个字段定义为

<field name="model" type="text_general" indexed="true" stored="true" />

作为样本

我的模型名称有"model":"ATP_JP_ATPK-000152-Y"

之类的连字符

排序无法正常处理此模型字段。我没有按正确的升序和降序获取模型名称

在模型字段上排序无法正常工作。我搜索了很多但仍没有得到正确答案。每次我得到相同的答案,我无法应用它。请帮忙

1 个答案:

答案 0 :(得分:3)

排序在标记化字段上不起作用。 model字段已使用text_general字段类型定义,它将被标记化,因此排序无法正常工作。

排序字段不应该被标记化或使用仅生成单个术语的分析器,它应该使用KeywordTokenizer

Sorting

使用字符串作为字段类型,并将模型字段复制到新字段中。