【问题标题】:What happens if you run ElasticSearch index while index is already running?如果在索引已经运行时运行 ElasticSearch 索引会发生什么?
【发布时间】:2016-11-03 19:34:14
【问题描述】:

我有一个每小时将数据从数据库索引到 ElasticSearch 的工作,但索引编制似乎需要一个多小时。

如果有第二个索引,而另一个索引仍在运行,会发生什么?有没有可能出现的问题?

【问题讨论】:

    标签: json search elasticsearch elasticsearch-plugin


    【解决方案1】:

    我觉得这个问题有点模糊......

    如果在索引数据期间您的工作中没有指定_id - 您将产生重复 - 这是一种可怕的情况。
    但是,如果您指定_id,您只会重新索引相同的文档几次 - 它不是那么糟糕,但它对您的服务器来说是额外且不必要的工作。
    但如果您的工作消耗大量资源(cpu、内存等),您的服务器可能会过载...

    【讨论】:

    • 是的,我们确实指定了 id 并且它似乎不会产生重复项。我需要改进索引,使其不会做任何不必要的工作。
    【解决方案2】:

    什么都不应该发生。 Elasticsearch 可以轻松处理这个问题。我的建议是从另一面看这个问题。也许最好尝试改进同步。例如将插入注册到队列,然后将其扩展到多个工作人员。顺便说一句,您是否使用批量插入?

    【讨论】:

    • 不,我没有使用批量插入。这会提高插入时的性能吗?
    • 您应该使用批量。没有它,每个操作都是单独的 http 请求。使用批量,您可以在单个请求中插入或更新 1000 个条目。检查这个elastic.co/guide/en/elasticsearch/reference/current/…
    猜你喜欢
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    相关资源
    最近更新 更多