搜索延迟Elasticsearch



搜索延迟嗨,我删除了实时数据,并将该数据传递给弹性搜索以索引它。索引后,我正在搜索结果,索引和搜索之间的时间间隔比一秒钟要少。

 .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进行大量索引操作,因为它可以使服务器屈膝。

最新更新