我遇到使用轮胎宝石从ElasticSearch索引中丢失项目的问题。
tire/retire 0.6.2,
ElasticSearch 0.90.13 (3 nodes)
情况: 我们有一个postgres数据库的项目,也在ES索引。 物品定期进入我们的PG数据库,每5分钟就会生成一个未编制索引的大量商品(我们有一个索引标志) - 通常约有50-100个商品。 所有项目都在批量请求中(轮胎bulk_store),ES中没有任何项目的错误(批量商店通过确定)。
问题: 文档数与PG数据库中的项目数不匹配。还有一些项目丢失(我不知道索引中缺少哪些项目)。 这种差异正在逐渐增加。
tire:import:model CLASS="Item" FORCE=1
)成功索引所有项目,以便文档计数匹配pg计数。没有FORCE的重新索引不会改善文档计数。任何想法为什么会发生这种情况?
我们计划从tire-> elasticsearch gems和ES升级到1.x,但在此之前我需要知道为什么会发生这种情况以防止将来发生这种情况。
示例:
Items in pg DB: 1399669
"docs": {
"count": 1399190,
"deleted": 2766
}