Elasticsearch 对字符串排序未返回预期结果

2024-04-24

当对包含多个单词的字符串字段进行排序时,Elasticsearch 会拆分字符串值并使用最小值或最大值作为排序值。即:当对值为“老虎之眼”的字段进行升序排序时,排序值为:“Eye”;当按降序排序时,排序值为:“Tiger”。

假设我的索引中有“老虎之眼”和“死亡之轮”作为条目,当我对此字段进行升序排序时,我希望“老虎之眼”排在第一位,因为“E”出现在“W”之前,但我在这个字段上排序时看到的是,“死亡之轮”首先出现,因为“D”是该术语的最小值,“E”是“眼睛”的最小值的老虎”。

有谁知道如何关闭此行为并仅允许对此字符串字段进行常规排序?


正如 mconlin 提到的,如果您想对未分析的文档字段进行排序,您需要指定“index”:“not_analyzed”以按照您的描述进行排序。但如果您希望能够将此字段标记化以进行搜索,这个帖子 https://stackoverflow.com/questions/21384894/elasticsearch-return-the-complete-value-of-a-facet-for-a-query斯隆提出了一个很好的例子。使用多领域 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-multi-field-type.html在 Elasticsearch 中为一个字段保留两个不同的映射是很常见的。

希望这有帮助,如果我可以提供更多解释,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch 对字符串排序未返回预期结果 的相关文章

随机推荐

  • Seaborn 热图引发意外错误

    我正在尝试执行以下代码 import seaborn as sns import pandas as pd import numpy as np year range 1949 1961 month January February Mar
  • 将小数转换为尽可能小的数字类型,而不会丢失任何数据

    我想写一个方法来转换decimal尽可能最小的数字类型 而不会丢失任何数据 举些例子 Convert 1 应该返回一个byte Convert 257 应该返回一个short Convert 1 1 应该返回一个float 等等 该方法的输
  • SQL:计数和子查询

    再次使用 count 和 sql 在 sqlite 上 我有表格 论文 paper id doi 年份 作者 paper id author id inst id 作者 作者 ID 姓名 名字 安装 inst id 名称 see id in
  • 在哪里检查用户电子邮件尚不存在?

    我有一个帐户对象 可以像这样创建用户 public class Account public ICollection
  • 在 JQuery 中选择自定义数据属性

    我这里有一个清单 ul li here li li are li li some li li initial li li tags li ul 其中每个 li 项都有一个自定义数据属性 在 JQuery 上如何获取具有 data value
  • 队列对象只能通过继承在进程之间共享

    我有两个 python 类 它们共享一个基类 可以说它定义了一个 multiprocessing Queue 每个类都将在单独的子进程上启动 并且需要通过队列共享信息 现在 如果基类定义了一个队列 那么每个子类对象将实例化它自己的队列 从而
  • Android 应用程序首选项会自动清除

    突然之间 每次我启动应用程序时 我的用户首选项都会被清除 我没有直接在 Activity 中使用首选项 而是在我的 Application 对象中有一个辅助类 它可以像这样访问首选项 SharedPreferences prefs Pref
  • Meteor:多个不需要的 mongodb 连接使数据库部署饱和

    我维护了一些部署在 AWS elastic beanstalk 64 位 Amazon Linux 4 5 2 上的meteor 1 7 0 3 应用程序 所有连接到托管 mongodb 部署 在 Compose 上 mongodb 版本
  • Compass (sass) 和 Web 开发人员扩展

    我经常使用 Web 开发人员扩展中的 编辑 css 功能来编辑样式表 这是一个很棒的功能 但编辑 css 并将其复制回编辑器进行保存需要时间 我计划在下一个项目中使用 Compass 我想知道如何使用 SASS Compass 的 编辑 c
  • Java - 调整 WAV 文件的播放速度

    我可能很笨 但我似乎找不到解决我的问题的方法 NOTE 我发现很多人报告了这个问题 似乎它是由于较新的 Java 可能是 1 5 而发生的 也许不再支持 SAMPLE RATE 我无法找到任何解决方案 我正在尝试调整 SAMPLE RATE
  • SQL Server 存储过程中的循环

    我需要帮助编写调用另一个存储过程并向其传递值的存储过程 到目前为止 这是用 C 完成的 现在我想将其移动到存储过程并创建一个在特定时间调用它的 SQL 代理作业 有任何想法吗 情况就是这样 Table A PK TableA ID Tabl
  • d3.js:如何在圆环图中的标签下方添加值

    我是 d3 js 的新手 到目前为止我所取得的成就是 this https jsfiddle net saras arya ypdw96v9 使用教程和视频 Now I am trying to add the dataset value
  • python,将字典转换为按值而不是键排序的列表

    我正在构建一个 collections defaultdict int 来记录某个键在一组数据中出现的次数 后来我希望能够以降序方式对其进行排序 显然是先将其转换为列表 首先按最高值排序 我创建了如下字典 adict defaultdict
  • 是否可以使用 Google Glass 拍照而无需“点击接受”?

    我按照此处的代码使用 Google Glass 相机捕获图像 https developers google com glass develop gdk media camera camera capturing images or vid
  • C/C++ - 运行系统(“process &”),然后写入其标准输入

    我正在研究 Linux 和 C C 我编写了一个带有一些线程的程序 include pthread h 并使用 sudo 运行它 一个线程运行一个进程 mplayer 并通过添加 使其保持运行 以便system 可以快速返回 system
  • Android studio 搁置的更改消失了,甚至在 .idea/shelf 目录中也没有

    我在 Android studio 中搁置了一些更改 然而 由于某种原因 搁置的更改不再存在 我已经检查了 project directory idea shelf 但它们也不在那里 Android studio 是否会在 idea she
  • Twilio:自动驾驶仪发起对话

    我们是一家送货服务公司 下订单后 我们希望向我们的司机发出送货工作邀请 这些职位是先到先得 订单在我们的 NodeJS 服务器上处理 在使用 Twilio Autopilot 处理对话 询问工作详细信息 的同时 向每位司机发送短信 SMS
  • 将函数与 Angular 7 中注入的 html 绑定

    我想使用innerHTML 在运行时将函数绑定到注入的html 中 我的组件 Component selector my app template div div styleUrls my app css encapsulation Vie
  • ffprobe/ffmpg 静音检测命令

    我正在研究流静音检测 它正在 ffmpeg 中执行以下命令 ffmpeg i http mystream com stream af silencedetect n 50dB d 0 5 f null 2 gt log txt 我想获得日志
  • Elasticsearch 对字符串排序未返回预期结果

    当对包含多个单词的字符串字段进行排序时 Elasticsearch 会拆分字符串值并使用最小值或最大值作为排序值 即 当对值为 老虎之眼 的字段进行升序排序时 排序值为 Eye 当按降序排序时 排序值为 Tiger 假设我的索引中有 老虎之