【问题标题】:How to return fields in correct order for an ElasticSearch query如何为 ElasticSearch 查询以正确的顺序返回字段
【发布时间】:2015-07-24 05:08:49
【问题描述】:

我正在对 ElasticSearch 索引执行多重匹配搜索,并且我想取回源对象,其字段的顺序与它们存储时的顺序相同。

但是,当我从 ElasticSearch 查询返回响应时,这些字段按字母顺序排列(这对我正在做的事情不是特别有用)。我相当有信心它曾经在以前的 ES 版本中表现出所需的方式,但由于我最近升级了它,它只返回按字母顺序排列的字段。

编辑:请注意,如果我执行标准的 match_all 搜索,那么我会以原始顺序获取字段。不知道是不是跟multimatch查询有关系?

编辑 2: 好的,我再次运行它,它以随机顺序(不是字母顺序)返回字段。也许这是 ElasticSearch 中的一个错误?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您不能保证退货的顺序。源文档是一个普通的旧 JSON 对象和by definition

    对象是一组无序的名称/值对。

    【讨论】:

    • 可能是这样,但根据我的经验,来自 ElasticSearch 的 JSON 响应在除上述情况之外的所有情况下都能以正确的顺序可靠地接收。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2019-02-01
    相关资源
    最近更新 更多