怎么安装elasticsearch中文分词插件Synonym-Analysis

这篇文章主要介绍“怎么安装elasticsearch中文分词插件Synonym-Analysis”,在日常操作中,相信很多人在怎么安装elasticsearch中文分词插件Synonym-Analysis问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装elasticsearch中文分词插件Synonym-Analysis”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

10多年的宁河网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整宁河建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“宁河网站设计”,“宁河网站推广”以来,每个客户项目都认真落实执行。

elasticsearch 版本 7.3

安装同义词插件

插件对应的版本需要和elasticsearch的版本一致

插件下载地址

https://github.com/bells/elasticsearch-analysis-dynamic-synonym

安装步骤如下:

  1. 在elasticsearch-7.3.0/plugins目录下新建 analysis-dynamic-synonym文件夹

  2. 如果是最新版master需要使用maven编译后将jar放入刚刚建好的文件夹中,如果是其他已经编译好的版本直接复制放入即可,本例需要编译的版本

  3. 同时加入plugin-descriptor.properties 和 plugin-security.policy,内容详见下文

  4. 重启集群

远程同义词库同样是根据http header 中的 Last-Modified 和 ETag 判断是否需要更新,具体可以参考我的另一篇博客方法是一样的elasticsearch 中文分词插件IK-Analyze

编译后仅得到一个jar包,其实elasticsearch安装插件还需要配置文件plugin-descriptor.properties,没有此文件会报错,文件内容如下

description=Analysis-plugin for synonym

version=5.1.1

name=analysis-dynamic-synonym

classname=com.bellszhu.elasticsearch.plugin.DynamicSynonymPlugin

java.version=1.8

elasticsearch.version=7.3.0

还需要放入配置文件 plugin-security.policy

grant {
  // needed because of the hot reload functionality
  permission java.net.SocketPermission "*", "connect,resolve";
};

如果elasticsearch报错提示

failed to get synonyms : http://10.0.11.1:10002/elasticsearch/synonymDict
access denied ("java.net.SocketPermission" "10.0.11.1:10002" "connect,resolve")

原因是缺少plugin-security.policy文件

commons httpclient 这些jar可以下载一个低版本的插件从中获取

插件所有文件如下:

怎么安装elasticsearch中文分词插件Synonym-Analysis

测试同义词插件

创建一个索引,指定远程同义词库

PUT /full_text_test123
{
  "settings": {
    "index": {
      "analysis": {
        "analyzer": {
          "ik_syno_smart": {
            "tokenizer": "ik_max_word",
            "type": "custom",
            "filter": [
              "remote_synonym"
            ]
          }
        },
        "filter": {
          "remote_synonym": {
            "type": "dynamic_synonym",
            "synonyms_path": "http://10.0.11.1:10002/elasticsearch/synonymDict",
            "interval": 30
          }
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "ik_syno_smart",
        "search_analyzer": "ik_smart"
      }
    }
  }
}

添加同义词

怎么安装elasticsearch中文分词插件Synonym-Analysis

执行解析器

POST /full_text_test123/_analyze
{
  "text": ["西红柿"],
  "analyzer": "ik_syno_smart"
}

结果

{
  "tokens" : [
    {
      "token" : "西红柿",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "番茄",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "SYNONYM",
      "position" : 0
    }
  ]
}

到此,关于“怎么安装elasticsearch中文分词插件Synonym-Analysis”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享题目:怎么安装elasticsearch中文分词插件Synonym-Analysis
文章源于:http://scjbc.cn/article/gsiejh.html

其他资讯