analysis-ik分词器

news/2024/10/21 6:00:02/

analysis-ik分词器

  • 1、安装
    • 离线
    • 在线
  • 2、使用
    • 配置
    • 拓展词典
  • 3、测试
    • ik_smart
    • ik_max_word

1、安装

离线

使用离线安装下载地址https://release.infinilabs.com/analysis-ik/stable/找到对应es版本的ik分词器、下载zip后放到/elasticsearch/plugins/ik文件夹下。重启es即可生效

在线

bin目录下执行脚本/elasticsearch/bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/es版本号(服务器能连通外网)

2、使用

参考官方地址:https://github.com/infinilabs/analysis-ik/blob/master/README.md

配置

ik_smart:最少切分模式。该模式会尽可能少地切分文本
ik_max_word:最细粒度划分模式。该模式会尽可能多地切分文本,将文本中的每个可能的词语都切分

curl -XPOST "http://localhost:9200/test/_mapping" -H 'Content-Type: application/json' -d
'{        "properties": {            "content": {                "type": "text",                "analyzer": "ik_max_word",                "search_analyzer": "ik_smart"            }        }}'

参数说明将索引 testcontent字段类型为text设置为创建时使用ik_max_word创建相关索引、搜索时用ik_smart

拓展词典

elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml配置文件进行相关修改
在这里插入图片描述
参考链接:
扩展字典
官网

3、测试

注意:已经建好索引

ik_smart

curl -XPOST "http://localhost:9200/_analyze" -H 'Content-Type: application/json' -d'{    "analyzer": "ik_smart",    "text": "中华人民共和国"  }'

分词结果

{"tokens": [{"token": "中华人民共和国","start_offset": 0,"end_offset": 7,"type": "CN_WORD","position": 0}]
}

ik_max_word

curl -XPOST "http://localhost:9200/_analyze" -H 'Content-Type: application/json' -d'{    "analyzer": "ik_max_word",    "text": "中华人民共和国"  }'

分词结果

{"tokens": [{"token": "中华人民共和国","start_offset": 0,"end_offset": 7,"type": "CN_WORD","position": 0},{"token": "中华人民","start_offset": 0,"end_offset": 4,"type": "CN_WORD","position": 1},{"token": "中华","start_offset": 0,"end_offset": 2,"type": "CN_WORD","position": 2},{"token": "华人","start_offset": 1,"end_offset": 3,"type": "CN_WORD","position": 3},{"token": "人民共和国","start_offset": 2,"end_offset": 7,"type": "CN_WORD","position": 4},{"token": "人民","start_offset": 2,"end_offset": 4,"type": "CN_WORD","position": 5},{"token": "共和国","start_offset": 4,"end_offset": 7,"type": "CN_WORD","position": 6},{"token": "共和","start_offset": 4,"end_offset": 6,"type": "CN_WORD","position": 7},{"token": "国","start_offset": 6,"end_offset": 7,"type": "CN_CHAR","position": 8}]
}

http://www.ppmy.cn/news/1540714.html

相关文章

使用Python-pptx轻松批量添加水印

哈喽,大家好,我是木头左! 本文将详细介绍如何使用Python-pptx库批量添加文字或图片水印到每张幻灯片上。 安装Python-pptx库 确保你已经安装了Python-pptx库。如果没有,可以使用以下命令进行安装: pip install python-pptx创建一个简单的PPT文件 在开始之前,需要创建…

leetcode day1

最小差值 给你一个整数数组 nums&#xff0c;和一个整数 k 。 在一个操作中&#xff0c;您可以选择 0 < i < nums.length 的任何索引 i 。将 nums[i] 改为 nums[i] x &#xff0c;其中 x 是一个范围为 [-k, k] 的任意整数。对于每个索引 i &#xff0c;最多 只能 应用…

Python爬虫:获取数据的入门详解

在互联网时代&#xff0c;数据已成为最宝贵的资源之一。Python&#xff0c;作为一种功能强大且易于学习的编程语言&#xff0c;成为了数据获取和处理的理想工具。Python爬虫&#xff0c;特别是&#xff0c;允许我们从网页中自动提取大量数据&#xff0c;为数据分析、机器学习、…

基于Springboot+Vue的资源分享系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

Java入门知识点

1.各种程序使用的开发语言&#xff1a; 数据分析类&#xff1a; 大数据&#xff0c;云计算--pythonsql 科学计算--python 机器学习&#xff0c;深度学习--python 应用开发类&#xff1a; C/S架构&#xff1a; 桌面应用开发--根据环境选择开发语言 移动端app--根据环境选择开发语…

深入理解WebSocket协议原理、实现与应用

1. 引言 1.1 什么是WebSocket&#xff1f; WebSocket是一种基于TCP的通信协议&#xff0c;它为客户端和服务器之间提供了全双工通信能力。与传统的HTTP协议不同&#xff0c;WebSocket允许在一个单一的TCP连接上进行双向通信&#xff0c;避免了每次通信都需要重新建立连接的开…

pgAdmin不显示template1数据库,该如何设置才可以显示?

pgAdmin和其他数据库管理工具一样&#xff0c;可能是考虑到使用者&#xff08;比如普通开发人员&#xff09;可能并不是特别的了解PostgreSQL的(相对)底层的逻辑&#xff1b;因此&#xff0c;为了方便使用&#xff08;提高使用体验&#xff09;&#xff0c;默认情况下&#xff…

单链表的经典算法OJ

目录 1.反转链表 2.链表的中间节点 3.移除链表元素 ——————————————————————————————————————————— 正文开始 1.反转链表 typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListNode* head) {//判空if(…