The dynamic synonym plugin adds a synonym token filter that reloads the synonym file (local file or remote file) at given intervals (default 60s).
| dynamic synonym version | ES version |
|---|---|
| master | 8.x -> master |
| 7.4.2 | 7.4.2 |
| 6.1.4 | 6.1.4 |
| 5.2.0 | 5.2.0 |
| 5.1.1 | 5.1.1 |
| 2.3.0 | 2.3.0 |
| 2.2.0 | 2.2.0 |
| 2.1.0 | 2.1.0 |
| 2.0.0 | 2.0.0 |
| 1.6.0 | 1.6.X |
-
mvn package -
copy and unzip
target/releases/elasticsearch-analysis-dynamic-synonym-{version}.ziptoyour-es-root/plugins/dynamic-synonym
{
"index" : {
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "whitespace",
"filter" : ["remote_synonym"]
}
},
"filter" : {
"remote_synonym" : {
"type" : "dynamic_synonym",
"synonyms_path" : "http://host:port/synonym.txt",
"interval": 30
},
"local_synonym" : {
"type" : "dynamic_synonym",
"synonyms_path" : "synonym.txt"
},
"synonym_graph" : {
"type" : "dynamic_synonym_graph",
"synonyms_path" : "http://host:port/synonym.txt"
}
}
}
}
}type: dynamic_synonym or dynamic_synonym_graph, mandatory
synonyms_path: A file path relative to the Elastic config file or an URL, mandatory
interval: Refresh interval in seconds for the synonym file, default: 60, optional
ignore_case: Ignore case in synonyms file, default: false, optional
expand: Expand, default: true, optional
lenient: Lenient on exception thrown when importing a synonym, default: false, optional
format: Synonym file format, default: '', optional. For WordNet structure this can be set to 'wordnet'
- Local files: Determined by modification time of the file, if it has changed the synonyms wil
- Remote files: Reads out the
Last-ModifiedandETaghttp header. If one of these changes, the synonyms will be reloaded.
Note: File encoding should be an utf-8 text file.