solr不区分大小写的排序不起作用 [英] solr case insensitive sort not working

查看:96
本文介绍了solr不区分大小写的排序不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在solr schema.xml中只有一个字段

I have one field in solr schema.xml

<field name="short_name" type="text_general" indexed="true" stored="true" required="false" />
    <field name="short_name_copy" type="string_ci" indexed="true" stored="true" required="false" />
   <copyField source="short_name" dest="short_name_copy"/>

和字段类型

<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
    <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
</fieldType>

并且我在代码中设置了排序字段

and I have set sort field in my code

query.addSortField("short_name_copy", ORDER.asc);

但是当我获得搜索结果时,其不区分大小写.它首先给出所有驼峰案例的结果,然后给出所有小写字母

But When I get search result its not sorted case insensitive. It gives all camel case result first and then all lower case

如果我有短名

Banu

Ajay

anil

sudhir

尼罗什

类似于Ajay,Banu,Nilesh,anil,sudhir

It sorts like Ajay, Banu, Nilesh, anil, sudhir

有人可以告诉我这里有什么问题吗

Can anybody please tell me whats wrong here

(我的搜索字段是short_name)

(My search field is short_name)

推荐答案

这是因为您仅在查询时间内使用分析器.要执行您想做的事情,您必须使用类似以下内容的方法:

This is because you are using your analyzer only in query time. To do what you want to do, you have to use something like:

<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
  <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>

或类似的东西

<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
  <analyzer type="index">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>

这篇关于solr不区分大小写的排序不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆