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

查看:18
本文介绍了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

如果我有短名字

巴努

阿杰

没有

苏迪尔

尼禄

有点像 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天全站免登陆