首页 文章

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

提问于
浏览
0

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

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

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

2 回答

  • 1

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

    如果您需要立即获得文档,则需要通过调用显式地显示refresh your indices

    POST /_refresh
    

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

    POST /my_index/_refresh
    

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

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

  • 1

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

    引擎盖下发生的事情是,elasticsearch维护的translog被写入elasticsearch维护的内存段 . 此操作最好由elasticsearch自行决定,但是,您可以使用一些配置参数 .

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

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

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

相关问题