elasticsearch 8.x 插件安装(四)之简繁体插件

elasticsearch 8.x 插件安装(四)之简繁体插件

elasticsearch插件安装合集

elasticsearch插件安装(一)之ik分词器安装(含MySQL更新)

elasticsearch 8.x插件(二)之同义词安装如何解决jdk权限问题

elasticsearch插件安装(二)之dynamic-synonym插件

elasticsearch 8.x 插件安装(三)之拼音插件

elasticsearch 8.x 插件安装(四)之简繁体插件

es 分词器(五)之elasticsearch-analysis-jieba 8.7.0

elasticsearch 8.x 插件安装(六)之Hanlp插件

一、拉取代码

代码地址:https://github.com/infinilabs/analysis-stconvert

二、打包插件

打开pom文件,将elasticsearch.version修改为需要的版本,此处修改为8.7.0。

在elasticsearch/target/release目录下会找到对应版本的插件

三、安装插件

将压缩包解压并复制到es plugins目录下,然后重启es。

四、验证插件

4.1 创建索引

json 复制代码
PUT /stconvert/
{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "tsconvert" : {
                    "tokenizer" : "tsconvert"
                    }
            },
            "tokenizer" : {
                "tsconvert" : {
                    "type" : "stconvert",
                    "delimiter" : "#",
                    "keep_both" : false,
                    "convert_type" : "t2s"
                }
            },   
             "filter": {
               "tsconvert" : {
                     "type" : "stconvert",
                     "delimiter" : "#",
                     "keep_both" : false,
                     "convert_type" : "t2s"
                 }
             },
            "char_filter" : {
                "tsconvert" : {
                    "type" : "stconvert",
                    "convert_type" : "t2s"
                }
            }
        }
    }
}

4.2 搜索

json 复制代码
GET stconvert/_analyze
{
  "tokenizer" : "keyword",
  "filter" : ["lowercase"],
  "char_filter" : ["tsconvert"],
  "text" : "国际國際"
}

Output:
{
  "tokens": [
    {
      "token": "国际国际",
      "start_offset": 0,
      "end_offset": 4,
      "type": "word",
      "position": 0
    }
  ]
}

4.3 简繁体互搜

json 复制代码
DELETE index
PUT index
{
  "settings": {
    "analysis": {
      "char_filter": {
        "tsconvert": {
          "type": "stconvert",
          "convert_type": "t2s"
        }
      },
      "normalizer": {
        "my_normalizer": {
          "type": "custom",
          "char_filter": [
            "tsconvert"
          ],
          "filter": [
            "lowercase"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "foo": {
        "type": "keyword",
        "normalizer": "my_normalizer"
      }
    }
  }
}

PUT index/_doc/1
{
  "foo": "國際"
}

PUT index/_doc/2
{
  "foo": "国际"
}

GET index/_search
{
  "query": {
    "term": {
      "foo": "国际"
    }
  }
}

GET index/_search
{
  "query": {
    "term": {
      "foo": "國際"
    }
  }
}
相关推荐
SelectDB技术团队1 分钟前
日志场景 Elasticsearch 替换实操:建表、索引、写入链路与查询改写的完整参数
大数据·数据库·数据仓库·elasticsearch·全文检索·日志分析·apache doris
夕除5 分钟前
redis--主从还是集群,内存
java·spring·mybatis
百数平台8 分钟前
低代码安全技术实践:表单 / 流程 / 报表三级权限体系设计解析
java·大数据·数据库
白露与泡影11 分钟前
Spring Boot 实现验证码:Hutool-captcha、AJ-Captcha、EasyCaptcha 到底怎么选?
java·spring boot·后端
马优晨20 分钟前
Java中的dto是什么
java·开发语言·java中的dto是什么·java的dto是什么·dto在java中是什么
小蒜学长25 分钟前
基于Springboot+Vue的高校教师教学业绩综合管理系统的设计与开发(代码+数据库+LW)
java·数据库·spring boot·后端·教学业绩管理·三级权限
Mikko727 分钟前
Spring Boot 3.5.16 自带的 Tomcat 10.1.55 中了哪些 CVE?其中一条是修上一个漏洞时带进来的
java·spring boot·后端·安全·tomcat
十年Java程序媛31 分钟前
Java 内部类全解|成员 / 静态 / 匿名内部类,理清和 Lambda 的区别
java·spring boot·面试
SL_staff44 分钟前
报工≠打卡:从任务报工到闭环管控的5个数据断点排查清单
java·spring boot·全栈
打工仔折腾 AI44 分钟前
Spring AI + Qwen 周报生成实战:从原始日志到人工确认卡
人工智能·后端·python·spring·elasticsearch·ai agent 实战