1 安装elasticsearch-analysis-dynamic-synonym插件
2 定义ES索引结构
name属性使用自定义"同义词分词器"
{
"test_index_001": {
"mappings": {
"properties": {
"id": {
"type": "long"
},
"name": {
"type": "text",
"analyzer": "synonym"
}
}
},
"settings": {
"index": {
"routing": {
"allocation": {
"include": {
"_tier_preference": "data_content"
}
}
},
"number_of_shards": "3",
"provided_name": "test_index_001",
"creation_date": "1665110920244",
"analysis": {
"filter": {
"remote_synonym": {
"type": "dynamic_synonym",
"synonyms_path": "https://192.168.1.108/search/elasticsearch/getSynonym",
"interval": "30"
}
},
"analyzer": {
"comma": {
"pattern": ",",
"type": "pattern"
},
"synonym": {
"filter": [
"remote_synonym"
],
"tokenizer": "ik_max_word"
}
}
},
"number_of_replicas": "3",
"version": {
"created": "6666112"
}
}
}
}
}
3 分词器配置
type:dynamic_synonym或dynamic_synonym_graph,必填
synonyms_path: 相对于 Elastic 配置文件或 URL 的文件路径,必填
interval: 同义词文件的刷新间隔,以秒为单位,默认:60,可选
{
"filter": {
"remot