gpt4 book ai didi

node.js - 索引新文档并在同一查询中获取索引文档

转载 作者:行者123 更新时间:2023-12-03 02:25:40 25 4
gpt4 key购买 nike

是否可以为新文档建立索引并在他成功建立索引后将其归还?

我试图使用返回的_id,但是我正在使用2个查询,而index操作则需要一些时间,而第二个查询找不到_id,因此它并不总是完美地完成它。

这是索引文档的查询:

const query = await elsaticClient.index({
routing: "dasdsad34_d",
index: "milan",
body: {
text: "san siro",
user: {
user_id: "3",
username: "maldini",
},
tags: ["Forza Milan","grande milan"],
publish_date: new Date(),
likes: [],
users_tags: [1,5],
type: {
name: "comment",
parent: "dasdsad34_d",
},
},

});

最佳答案

不,默认行为无法实现。默认情况下,Elasticsearch仅提供近乎实时的支持。它的默认刷新间隔为1秒,因为索引刷新被认为是一项昂贵的操作。

为了解决这个问题,您可以在索引操作中添加 refresh = true 。您可以从下面的链接中获取更多详细信息。

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html

请注意,这不是,不是推荐的选项,因为这会带来巨大的开销。如果您要插入的索引数量非常少,请仅使用此选项。

推荐的方法是在索引操作中使用 refresh = wait_for 。但这有一个缺点,那就是等待一秒钟自然刷新完成。因此,如果您将默认刷新间隔设置为1,并且可以接受,这是可以接受的折衷方案,那么这就是解决方法。

但是,如果设置了较高的刷新间隔,则索引操作的等待时间将与刷新间隔一样长。因此,请仔细选择您的选项。

关于node.js - 索引新文档并在同一查询中获取索引文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61141202/

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