为Elasticsearch指定同义词过滤器时,使用synonyms_path和使用同义词有什么区别吗?

Is there any difference between using synonyms_path and using synonyms when specifying synonym filter for Elasticsearch?

在性能方面,在为 Elasticsearch 指定同义词过滤器时使用 synonyms_path 和使用同义词有什么区别吗?例如,请参考图片。请注意,在我的 ES 集群中,有许多索引将使用相同的同义词过滤器。

我问这个问题,因为显然 AWS ES 不允许将文件直接上传到集群。因此,我需要使用 API.

上传同义词数据

您别无选择,因为您不能使用同义词文件。您唯一的选择是在索引设置中提供所有同义词。

在代码方面,无论是从字符串还是从文件中读取同义词,它都会 almost no difference。唯一的区别是所有同义词都将存储在所有需要它们的索引中,因此归结为浪费一点存储空间space,但这可以忽略不计(当然这取决于你有多少同义词,即几百或几千)。

更糟糕的是,如果您需要修改同义词列表,您将需要修改所有索引,而不是只修改一个文件。