SEARU.ORG
当前位置:SEARU.ORG > Linux 软件 > 正文

ElasticSearch动态更新同义词插件 Dynamic-Synonym

Dynamic-Synonym 是 ElasticSearch 动态更新同义词插件 。主要提供了动态更新同义词的功能,支持本地文件和远程文件。

安装

1.

mvn package

2. 将target/releases/elasticsearch-analysis-dynamic-synonym-{version}.zip 解压到 your-es-root/plugins/dynamic-synonym

示例代码:

{
    "index" : {
        "analysis" : {
            "analyzer" : {
                "synonym" : {
                    "tokenizer" : "whitespace",
                    "filter" : ["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"
                },
            }
        }
    }
}

说明:synonyms_path 是必须要配置的,根据它的值是否是以http://开头来判断是本地文件,还是远程文件。
interval 非必须配置的,默认值是60,单位秒,表示间隔多少秒去检查同义词文件是否有更新。ignore_case 非必须配置的, 默认值是falseexpand 非必须配置的, 默认值是trueformat 非必须配置的, 默认值是空字符串, 如果为wordnet,则表示WordNet结构的同义词。

热更新同义词说明

  1. 对于本地文件:主要通过文件的修改时间戳(Modify time)来判断是否要重新加载。

  2. 对于远程文件:synonyms_path 是指一个url。 这个http请求需要返回两个头部,一个是 Last-Modified,一个是 ETag,只要有一个发生变化,该插件就会去获取新的同义词来更新相应的同义词。

注意: 不管是本地文件,还是远程文件,编码都要求是UTF-8的文本文件

未经允许不得转载:SEARU.ORG » ElasticSearch动态更新同义词插件 Dynamic-Synonym

赞 (1)
分享到:更多 ()

评论 0