如何比较电子搜索中的两个指数

问题描述 投票:0回答:0

我正在运行一个问题,我想比较两个弹性指数并找到其中一个指数丢失的文件。 我正在开发 ES 5.6 我有一个 logstash 管道,它将具有“0”和“1”值的字段转换为 bool“true”和“false”。 此管道采用名为 client-login 的索引,添加另一个具有适当 bool 值的字段并创建一个新索引 client-login-bool

input {
  elasticsearch {
    hosts => "ELASTIC_HOSTS_PLACEHOLDER"
    index => "MIGRATION_SOURCE_INDEX"
    scroll => '10m'
    docinfo => true
    query => '
        {
          "query": {
                "match": {
                  "_type": "client-login"
                }
            }
        }'
    }
}
filter {
 mutate {
    add_field => { "bool_user_is_primary" => false }
    }
    mutate {
        convert => {
          "user_is_primary" => "integer"
        }
    }
    ruby {
      code => "
        account = event.get('user_is_primary')
        if account == 1
            event.set('bool_user_is_primary', 'true')
        end
      "
    }
    mutate {
        convert => {
          "bool_user_is_primary" => "boolean"
        }
    }
    mutate {
        remove_field => [
          "user_is_primary"
        ]
    }
}
output {
  elasticsearch {
    hosts => "ELASTIC_HOSTS_PLACEHOLDER"
    index => "MIGRATION_DESTINATION_INDEX"
    document_id=> '%{[@metadata][_id]}'
    }
}

这是 logstash 管道,源索引“client-login”具有多种类型的文档。我只需要使用类型为“client-login”的文档添加布尔字段并在目标索引“client-login-bool”中索引文档 问题是目标索引中的文档计数与源索引中的文档计数不同。这就是为什么我想做一个比较,看看遗漏了哪个文件。 另外,如果我从输出中删除 document_id,文档计数是相同的。

请帮帮我,我在这个问题上坚持了一个多星期,已经用尽了所有的想法。 提前致谢!

elasticsearch logstash
© www.soinside.com 2019 - 2024. All rights reserved.