查询〜10M文档索引和更多问题时,fielddata = true会有什么影响

时间:2019-02-18 15:02:31

标签: elasticsearch aggregation

  1. 我的索引约为1000万个文档。在每个文档中,我都有一个“文本”字段,在其中放置了一个字符串,最后,我希望汇总该字段中的所有术语。尝试这样做时,我只会得到整个字符串。 我只听到有关使用fielddata = true的坏消息。 对于如此大量的文档,就内存而言使用fielddata = true真的是一种不好的做法吗?

  2. 在索引管道中使用分析器(仅在特定字段上设置分析器)与使用分析器作为函数(在字符串上运行分析器)之间是否存在差异(就性能而言)结果并将它们放在文档中)?

  3. 同义词-我已经定义了一个同义词列表,我相信我已经知道答案了,但是我仍然尝试一下,是否可以简单地更新这样的同义词列表,仅此而已?还是在更新同义词列表后必须重新编制索引?

1 个答案:

答案 0 :(得分:1)

  1. 是的,内存不足是一个问题,但是您应该对其进行测试以找出所需的内存量。对于32G堆内存限制,10M不是太多文档。
  2. 我不明白这个问题
  3. 在创建索引时,您应该指向同义词单词的列表(文件)。但是之后您可以更新列表,而无需重新编制索引。当然不是简单的收缩(为此您应该重新索引)。 https://www.elastic.co/guide/en/elasticsearch/guide/current/synonyms-expand-or-contract.html