搜索延迟嗨,我删除了实时数据,并将该数据传递给弹性搜索以索引它。索引后,我正在搜索结果,索引和搜索之间的时间间隔比一秒钟要少。
.then(record => {
listofmovies = duplicate.removeDuplicate(record);
results = listofmovies.concat(youtubemovies);
console.log("results :" + results.length);
return es.create(results);
})
.then(result=>{
console.log("searching");
return es.search(req.body.q);
})
在"代码"中。创建索引,它返回承诺完成后,我搜索索引,也返回承诺。因此如何解决此问题。
alasticsearch被称为近乎真实的时间,因为索引文档与搜索中出现的文档之间存在很小的滞后。
您需要刷新索引,因此文档出现在搜索中,默认情况下,刷新每1秒钟完成,这就是为什么在使用Postman时1秒钟后出现文档的原因。
在文档中,您有一些解决方案,其中涉及在索引请求中设置refresh
参数:
-
将刷新设置为
true
:每个索引操作后刷新,文档将立即出现。 -
将刷新设置为
wait_for
:使用此索引请求将等到刷新,因此您可以在Promise Chain中检查您在搜索请求中刚刚索引的文档。
这取决于您的用例,但是您应该谨慎使用refresh: true
进行大量索引操作,因为它可以使服务器屈膝。