Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

In term of performance, is there any difference between using synonyms_path and using synonyms when specifying synonym filter for Elasticsearch ? Please refer to the images for example. Note that in my ES cluster, there are many indices that will make use of this same synonym filter.

Using synonyms_path

Using synonyms

I am asking this question, because apparently AWS ES does not allow one to upload a file directly to the cluster. Therefore, I need to upload the synonym data by using the API.

like image 776
laituan245 Avatar asked Jan 05 '17 08:01

laituan245


1 Answers

You don't have a choice then since you cannot use a synonyms file. Your only choice is to provide all the synonyms in the index settings.

Code-wise, whether the synonyms are read from a string or from a file, it makes almost no difference. The only difference will be that all the synonyms will be stored in all the indices that need them, so that boils down to wasting a bit of storage space, but that's negligible (of course it depends how many synonyms you have, i.e. a few hundreds or many thousands).

What hurts more is that if you need to modify the synonyms list, you'll need to modify all your indices, instead of just a single file.

like image 62
Val Avatar answered Nov 09 '22 01:11

Val