首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分词器的弹性搜索排序问题

分词器的弹性搜索排序问题
EN

Stack Overflow用户
提问于 2015-02-17 15:16:15
回答 1查看 116关注 0票数 0

我使用的是KendoGrid,数据来源是elastic search。当我按名称排序时,弹性搜索几乎没有提供意想不到的结果。经过分析,我观察到,如果我按任何升序/降序排序,elastic search会将字符串拆分成单词,并在这些单词中分别查找以较低/较高值开头的单词。例如。

代码语言:javascript
复制
Again Test for Hard bounce check
Campaign Sender Test
Test SMTP 2
Test SMTP 1
Test Campaign34
Test Campaign345
Campaign Test mergervars
Link test
Failed Test

上面列表中的第一项“再次测试硬退回检查”被分成5个单词,因为" Test“以T开头,所以它在列表中显示在第一位。

但是,我不想这样排序。我想从字符串的开头开始排序。我该怎么做呢。

我假设我必须通过记号赋予器来处理它,但不确定如何处理它。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2015-02-18 12:17:31

排序发生在反向索引上,更好地理解为fielddata缓存。这里的数据是在标记化之后出现的。如果你想增加搜索功能并对该字段进行排序,我强烈建议使用multi fields

代码语言:javascript
复制
"title": {
    "type": "string",
    "fields": {
        "sort":   { "type": "string", "index": "not_analyzed" }
    }
}

现在,我们在标题字段内部有两个字段。标题字段和title.sort。使用title.sort字段,因为它具有确切的字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28556602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档