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": "國際"
    }
  }
}
相关推荐
是小蟹呀^2 小时前
Spring Security + JWT 面试题整理
java·jwt·springsecurity
spencer_tseng4 小时前
Redis + Nacos.bat
java·windows·dos
AI探索先锋4 小时前
AMD 2nm 芯片炸裂、欧洲首家人形机器人独角兽诞生、AI Agent 互联标准打响:10 条信号看懂产业变局|今日科技 AI 机器人快讯
大数据·人工智能·深度学习·搜索引擎·机器人
troyzhxu4 小时前
列表查询的 GraphQL —— 一行代码终结你的 if-else 地狱!
java·springboot·graphql
孫治AllenSun5 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
好好沉淀6 小时前
@NotBlank(message = “{xxx}“) 注解中花括号的含义
java
fīɡЙtīиɡ ℡6 小时前
内存泄漏产生的原因
java·spring·servlet
hkj88086 小时前
Ubuntu 切换java版本
java·linux·ubuntu
码智社7 小时前
Java实现RSA密钥生成、加密解密、加签验签
java