我有一个名为"customer“的字段名包含以下值,
我需要对以上客户价值进行不区分大小写的排序。这样我就能得到如下数据,
为此,我在copyField中创建了一个名为"customer_sort“的新scheme.xml字段。
<field docValues="true" indexed="true" multiValued="false" name="customer_sort" stored="false" type="LowerTextField"/>fieldType in scheme.xml
<fieldType name="LowerTextField" class="solr.TextField" sortMissingLast="true" positionIncrementGap="1000">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>scheme.xml中的拷贝字段
<copyField source="customer" dest="customer_sort"/>当前的排序结果是
基于ascii值进行排序。即( a,b,b,.)。
当我尝试alphaOnlySort时,也会发生同样的情况。
有人能告诉我我错过了什么吗?
谢谢
发布于 2018-03-27 08:36:28
您能在type="TextField".中使用schema.xml吗?我想知道这件事。
<fieldType name="LowerTextField" class="solr.TextField" sortMissingLast="true" positionIncrementGap="1000">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<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.LowerCaseFilterFactory"/>
</analyzer>
https://stackoverflow.com/questions/49407100
复制相似问题