如何定期更新ElasticSearch索引?更新还是重建?

时间:2019-08-05 06:28:13

标签: elasticsearch

假设要为要编入索引的文章固定个标题,并且每篇文章有两个增长字段,其中"type": "rank_feature"view_countfavor_count。我必须每小时更新一次计数器的值,以增加搜索结果中的热门文章。

由于ES和Lucene中的UPDATE操作等效于search-delete-create,因此我想知道哪种方法适合我的情况。 UPDATE操作是否为这些固定标题节省了不必要的ANALYZE步骤?

1 个答案:

答案 0 :(得分:1)

更新并不能使您的分析更加高效-仍然必须再次处理整个文档。

如果您有2个经常更改的字段,而其他字段更静态,那么我将使用parent/child来重组文档:

  • 父级包含静态字段
  • 孩子有两个经常变化的字段

这样,您就可以尽可能避免对文档进行(重新)分析。这会以搜索时的一些开销为代价,但如果您只有一个孩子,则应该可以解决。