我的同义词存储在数据库中,当同义词在数据库中更改时,我想更新索引中可能因同义词更改而更改的任何值。
我能想到的有两个部分。一,找出要重新索引的文档。第二,弄清楚如何告诉 ElasticSearch 同义词发生了变化。我正在为第二个苦苦挣扎 - 告诉 ElasticSearch 同义词已经改变。
有人问了一个类似的问题 - 请参阅动态更改弹性搜索同义词- 但通过阅读该问题中的答案,我无法弄清楚我需要什么。
目前,我的配置文件如下所示:
index :
analysis :
analyzer :
myanalyzer :
filter: [standard, mysynonymfilter]
filter :
mysynonymfilter :
type : synonym
synonyms : synonyms.txt
ignore_case : false
expand : true
format : solr
我的想法是执行以下操作:
curl -XPUT 'http://127.0.0.1:9200/foo/_settings' -d '
{
"filter" : {
"synonym" : {
"type" : "mysynonymfilter",
"synonyms" : [
"cosmos, universe"
]
}
}
}
'
但这似乎不是我想要的。也就是说,据我所知,索引设置没有得到更新。
我正在尝试做的事情可能吗?如果是这样,知道我做错了什么吗?
另外,我很确定我可以通过更新同义词文件(如果我必须使用文件)来实现这一点,但这有点复杂,我想避免。
谢谢你的帮助,埃里克