私は Elasticsearch を初めて使用し、同義語を構成しようとしていますが、期待どおりに機能していません。
私の分野には次のデータがあります。 1) テクニカル リード、モジュール リード、ソフトウェア エンジニア、シニア ソフトウェア エンジニア
tl を検索すると、"Technical Lead" または "tl" が返されますが、リードはインデックス tme でトークン化されるため、"Technical Lead" と "Module Lead" が返されます。
正確な設定でこの問題を解決するのを手伝ってください。
インデックス時間と検索時間のトークン化を見たことがありますが、それを理解できません。
synonyms.txt:
tl,TL => テクニカル リード
se,SE => ソフトウェア エンジニア
sse => シニア ソフトウェア エンジニア
マッピング ファイル:
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "whitespace",
"filter": [
"synonym"
]
}
},
"filter": {
"synonym": {
"type": "synonym",
"synonyms_path": "synonyms.txt"
}
}
}
}
},
"mappings": {
"tweet": {
"properties": {
"Domain": {
"type": "string",
"analyzer": "synonym"
},
"Designation": {
"analyzer": "synonym",
"type": "string"
},
"City": {
"type": "string",
"analyzer": "synonym"
}
}
}
}
}