ElasticSearch - 用于分析索引文档的配置

时间:2015-06-15 05:19:54

标签: elasticsearch

在单个请求中,我想从SOR中检索文档,将它们存储在ElasticSearch中,然后使用ES搜索API搜索这些文档。

从索引文档的时间到分析和准备搜索的时间似乎有些滞后。

是否有任何方法可以将ES配置为不从索引文档的索引返回,直到分析器对其进行分析并立即对其进行搜索?

2 个答案:

答案 0 :(得分:1)

Elasticsearch本质上是"near real-time",即所有索引每秒刷新一次(默认情况下)。虽然在大多数情况下看起来似乎不够,但可能不会,例如在您的情况下。

如果您需要立即提供文件,则需要refresh your indices明确致电

POST /_refresh

或者如果您只想刷新一个索引

POST /my_index/_refresh

刷新需要在索引调用返回之后和搜索调用发送之前进行。

请注意,在每个文档索引上执行此操作都会损害系统的性能。最好让您的应用程序了解ES的近实时性质,并在客户端处理此问题。

答案 1 :(得分:1)

如接受的答案中所建议的,刷新API本质上很重,如果您要进行大量的索引操作,则可能不希望在每次索引操作后调用此API。

引人注目的是,elasticsearch维护的translog被写入elasticsearch维护的内存段。此操作最好由elasticsearch自行决定,但是,您可以使用一些配置参数。

您可以采取另一种方法,它可能适合您的特定用例,也可能不适合您的具体使用情况,但现在就可以了。

查询index / _stats / refresh api并从那里检索刷新状态,索引文档,然后再次执行相同的统计信息查询。如果版本自索引编制时间以来已增加,则表示您可以搜索文档。

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html