【发布时间】:2017-02-17 21:20:03
【问题描述】:
我正在索引一个 3000 万行的大型数据集,并在每次重新索引后(使用 JDBC 河流)发现索引的总大小不一致。
我正在使用: curl -XGET 'http://localhost:9200/index_name/_count'
每次重新索引后,结果的差异多达 100,000 个。
我在日志中看不到任何索引错误。
【问题讨论】:
标签: elasticsearch
我正在索引一个 3000 万行的大型数据集,并在每次重新索引后(使用 JDBC 河流)发现索引的总大小不一致。
我正在使用: curl -XGET 'http://localhost:9200/index_name/_count'
每次重新索引后,结果的差异多达 100,000 个。
我在日志中看不到任何索引错误。
【问题讨论】:
标签: elasticsearch
一种可能是您的 refresh_interval 设置设置为一个较高的数字。此选项用于减少磁盘 IO。索引结果可能仅在此时间间隔到期后可用。
您还可以使用刷新 API 来强制进行刷新。像这样:
curl -XPOST 'http://localhost:9200/index_name/_refresh'
有关详细信息,请参阅elastic documentation。
【讨论】:
ElasticSearch 用于计算索引中条目数的算法在有限的内存使用情况下执行操作。这导致近似结果。要提高精度,您可以设置
precision_threshold : AMOUNT_OF_ERROR
弹性搜索仍然存在 5% 的误差范围
【讨论】: