シノニムはデータベースに保存されており、データベースでシノニムが変更された場合、シノニムの変更の結果として変更される可能性のあるインデックスの値を更新したいと考えています。
これには、私が考えることができる2つの部分があります。1 つ目は、インデックスを再作成するドキュメントを特定することです。2 つ目は、シノニムが変更されたことを ElasticSearch に伝える方法を理解することです。私は2番目のものに苦労しています-シノニムが変更されたことを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"
]
}
}
}
'
しかし、それは私が望むことをしていないようです。つまり、私が知る限り、インデックス設定は更新されません。
私がやろうとしていることは可能ですか?もしそうなら、私が間違っていることは何ですか?
また、同義語ファイルを更新することでこれを機能させることができると確信していますが (ファイルを使用する必要がある場合)、それはもう少し複雑であり、避けたいことです。
助けてくれてありがとう、エリック