【问题标题】:How to debug document not available for search in Elasticsearch如何调试无法在 Elasticsearch 中搜索的文档
【发布时间】:2019-06-07 22:02:25
【问题描述】:

我正在尝试从 Elasticsearch 搜索和获取文档,但在某些情况下,我没有得到更新的文档。更新我的意思是,我们在 Elasticsearch 中定期更新文档。 ElasticSearch 中的文档每 30 秒更新一次,文档数量可以在 10-10 万之间。我知道在 Elasticsearch 中更新通常是一个缓慢的过程。

我怀疑它正在发生,因为 Elasticsearch 虽然接受了文档,但文档无法用于搜索。因此,我有以下问题:

  1. 有没有一种方法可以测量索引和文档可供搜索之间的时间? Elasticsearch中有设置可以在Elasticsearch日志中记录更多信息吗?
  2. Elasticsearch 中是否有一个设置可以在合并操作发生时启用日志记录?
  3. 还有其他有助于优化性能的建议吗?

提前感谢您的帮助。

【问题讨论】:

  • 你是否将 refresh_interval 设置为 30 秒?
  • 不,我使用的是默认设置。

标签: elasticsearch


【解决方案1】:

默认情况下,refresh_interval 参数设置为 1 秒,因此除非您更改此参数,否则每次更新最多可在 1 秒后搜索。

如果您希望在执行更新操作后立即搜索结果,您可以使用refresh 参数。

使用refresh=wait_for,一旦发生刷新,端点就会响应。如果您使用refresh=true,则会触发刷新操作。如果您有很多更新,请小心使用refresh=true,因为它会影响性能。

【讨论】:

  • 我使用默认设置,每隔 30 秒进行一次搜索查询。我将在搜索之前尝试调用刷新。谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
  • 2015-05-23
  • 2021-05-20
  • 2021-07-17
  • 2022-08-12
  • 2022-01-11
  • 2012-10-22
相关资源
最近更新 更多