gpt4 book ai didi

elasticsearch - Elasticsearch:跨两个索引自动递增整数字段

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

我需要跨两个索引的自动递增整数字段。

Elasticsearch是否可以像表中的MySQL“自动增量”字段那样自动执行操作?

例如。将某些文档放在两个不同的索引中时:

POST /my_index_1/blogpost/
{
"title": "Foo Bar"
}

POST /my_index_2/blogpost/
{
"title": "Baz quux"
}

在检索它时,我想要:
GET /my_index_*/blogpost/
{
"uid" : 1,
"title": "Foo Bar"
},
{
"uid" : 2,
"title": "Baz quux"
}

最佳答案

不,ES没有任何自动递增功能,因为它是分布式系统,因此要弄清楚计数器的正确值并不容易。尤其是因为(批量)索引趋向于大量并发。如果向其扔足够的文档,通常可以使所有节点上的CPU最大化。

因此,最好的选择是在将文档发送到ES之前在ES之外执行此操作。甚至更好,不要这样做。如果您需要某种插入顺序,则更好的选择是简单地使用时间戳。它们实际上在内部存储为数字。如果两个文档的索引相同,当然您仍然可能会得到重复。我们曾经解决的一个技巧是使同时索引的文档偏移1 ms。以确保我们保留广告订单。

关于elasticsearch - Elasticsearch:跨两个索引自动递增整数字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39363320/

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