gpt4 book ai didi

elasticsearch - Elasticsearch 是否保持多值字段的顺序?

转载 作者:行者123 更新时间:2023-12-02 22:15:22 24 4
gpt4 key购买 nike

Elasticsearch 是否保持多值字段的顺序?

IE。如果我将以下值放入字段中:

{
"values": ["one", "two", "three"],
"values_original": ["1", "2", "3"]
}

(鉴于未分析字段)

我能确定列表的内容总是按照我放在那里的顺序返回吗?

在上面的示例中,我想确保“values”中第一个位置的“one”将始终对应于“values_original”等中的“1”。

我也可以将它保留为嵌套对象,即
{
"values": [
{"original": "1", "new": "one"},
{"original":"2", "new":"two"},
{"original":"3","new":"three"}
]
}

但我想避免开销。

如果保证保留多值字段中的值顺序,那么我保留两个并行多值字段的方法将起作用。

最佳答案

我找到了答案。

是的,我可以依靠 Elasticsearch 在文档中的多值字段中保持值的顺序。 (但是,当我执行搜索时,Elasticsearch 没有关于某个术语在什么位置的可用信息)。

根据文档:

When you get a document back from Elasticsearch, any arrays will be in the same order as when you indexed the document. The _source field that you get back contains exactly the same JSON document that you indexed.

However, arrays are indexed—made searchable—as multivalue fields, which are unordered. At search time, you can’t refer to “the first element” or “the last element.” Rather, think of an array as a bag of values.



https://www.elastic.co/guide/en/elasticsearch/guide/current/complex-core-fields.html#_multivalue_fields

关于elasticsearch - Elasticsearch 是否保持多值字段的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com