elasticsearch 当查询~10M文档索引和更多问题时,fielddata=true会有什么影响,elasticsearch,aggregation,elasticsearch,Aggregation" /> elasticsearch 当查询~10M文档索引和更多问题时,fielddata=true会有什么影响,elasticsearch,aggregation,elasticsearch,Aggregation" />

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

elasticsearch 当查询~10M文档索引和更多问题时,fielddata=true会有什么影响,elasticsearch,aggregation,elasticsearch,Aggregation,我有一个大约1000万文档的索引。在每个文档中,我都有一个“文本”字段,在其中输入一个字符串,最后我希望聚合该字段中的所有术语。当尝试这样做时,我只得到整个字符串。 我只听说了使用fielddata=true的不好的地方。 对于这么多的文档,在内存方面使用fielddata=true真的是一种很糟糕的做法吗 在索引管道中使用分析器(仅在特定字段上设置分析器)与将分析器用作函数(在字符串上运行分析器,获取结果并将其放入文档)之间是否存在差异(在性能方面) 同义词-我已经定义了一个同义词列表,我相信

我有一个大约1000万文档的索引。在每个文档中,我都有一个“文本”字段,在其中输入一个字符串,最后我希望聚合该字段中的所有术语。当尝试这样做时,我只得到整个字符串。 我只听说了使用fielddata=true的不好的地方。 对于这么多的文档,在内存方面使用fielddata=true真的是一种很糟糕的做法吗

  • 在索引管道中使用分析器(仅在特定字段上设置分析器)与将分析器用作函数(在字符串上运行分析器,获取结果并将其放入文档)之间是否存在差异(在性能方面)

  • 同义词-我已经定义了一个同义词列表,我相信我已经知道了答案,但我还是会尝试一下,是否可以简单地更新同义词列表,就这样?或者更新同义词列表后必须重新编制索引

  • 是的,内存不足是一个问题,但是你应该测试一下,看看你需要多少内存。10M对于32G堆内存限制来说不是太多
  • 我不明白这个问题
  • 在创建索引时,您应该指向同义词列表(文件)。但在那之后,您可以更新列表,而无需重新编制索引。当然不是简单的收缩(为此,您应该重新编制索引)
    你能提供第一点的示例代码吗。我的ES主要用于聚合,在这种情况下它会不会对我的内存影响较小(使用fielddata=true)?2.您可以直接使用分析器(analyzar(input_word)=analyzed word),也可以在特定字段(映射中)上设置分析器,它将自动分析此字段。就性能而言,两者之间有什么区别吗。对当然使用聚合时,您可以了解fielddata使用了多少内存:http://[master IP]:9200/_cat/fielddata?v