Elasticsearch之ik中文分词篇

Elasticsearch之ik中文分词篇

  • ik分词器插件
    • ik分词器安装
    • ik分词模式
    • es ik分词测试

ik分词器插件

es在7.3版本已经支持中文分词,由于中文分词只能支持到单个字进行分词,不够灵活与适配我们平常使用习惯,所以有很多对应中文分词出现,最近使用的是ik分词器,就说说它吧。

ik分词器安装

安装可以百度下有很多教程,需要注意的是ik分词器的版本要跟es版本对应上,避免出现不必要的兼容问题。

ik分词模式

ik_max_word: 将文本拆分成最细粒度的词语或者字

GET /test_analysis/_analyze
{"text": "是否分词","analyzer": "ik_max_word"
}

结果

{"tokens" : [{"token" : "是否","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 0},{"token" : "是","start_offset" : 0,"end_offset" : 1,"type" : "CN_WORD","position" : 1},{"token" : "否","start_offset" : 1,"end_offset" : 2,"type" : "CN_WORD","position" : 2},{"token" : "分词","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 3},{"token" : "分","start_offset" : 2,"end_offset" : 3,"type" : "CN_WORD","position" : 4},{"token" : "词","start_offset" : 3,"end_offset" : 4,"type" : "CN_WORD","position" : 5}]
}

ik_smart: 将文本拆分成最粗粒的词语

GET /test_analysis/_analyze
{"text": "是否分词","analyzer": "ik_smart"
}

结果

{"tokens" : [{"token" : "是否","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 0},{"token" : "分词","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 1}]
}

一般都用ik_max_word

es ik分词测试

创建索引

PUT /test_analysis
{"mappings": {"properties": {"message": {"type": "text","analyzer": "ik_max_word"},"id": {"type": "keyword"}}}
}

添加数据

POST /test_analysis/_bulk
{"index":{}}
{"id":"111", "message":"我是一个小可爱"}
{"index":{}}
{"id":"222", "message":"只是为了测试一下结果是否分词"}
{"index":{}}
{"id":"333", "message":"测试一下是否进行了ik分词"}
{"index":{}}
{"id":"444", "message":"搞一些假的数据吧"}
{"index":{}}
{"id":"555", "message":"实在不知道再写一些什么了"}
{"index":{}}
{"id":"666", "message":"就这样吧"}

查询

GET /test_analysis/_search
{"query": {"bool": {"must": [{"match": {"message": "是否分词"}}]}}
}

查询分词结果

{"took" : 1,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 3,"relation" : "eq"},"max_score" : 5.104265,"hits" : [{"_index" : "test_analysis","_type" : "_doc","_id" : "MDXEe4wBS_Neyb68FBdy","_score" : 5.104265,"_source" : {"id" : "333","message" : "测试一下是否进行了ik分词"}},{"_index" : "test_analysis","_type" : "_doc","_id" : "LzXEe4wBS_Neyb68FBdy","_score" : 5.0611815,"_source" : {"id" : "222","message" : "只是为了测试一下结果是否分词"}},{"_index" : "test_analysis","_type" : "_doc","_id" : "LjXEe4wBS_Neyb68FBdy","_score" : 0.728194,"_source" : {"id" : "111","message" : "我是一个小可爱"}}]}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题】-- 229.多数元素II

229.多数元素II 方法&#xff1a;使用哈希表 class Solution {public List<Integer> majorityElement(int[] nums) {HashMap<Integer,Integer> map new HashMap<>();for(int i 0;i< nums.length;i){map.put(nums[i],map.getOrDefault(nums[i],0) 1);}…

拾[10],局部可变形匹配,函数CreateLocalDeformableModel/FindLocalDeformableModel

函数CreateLocalDeformableModel 函数功能 创建局部的可变形匹配模板 C模式 LIntExport void CreateLocalDeformableModel( const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple&a…

【K8S基础】-k8s的核心概念pod

一、Pod 是什么 1.1 Pod 的定义和概念 在Kubernetes中&#xff0c;Pod是创建或部署的最小/最简单的基本单位。一个Pod代表着集群上正在运行的一个进程&#xff0c;它封装了一个或多个应用容器&#xff0c;并且提供了一些共享资源&#xff0c;如网络和存储&#xff0c;每个Pod…

c语言:判断闰年|练习题

一、题目 输入一个年份&#xff0c;判断该年份是否闰年 二、解题思路 闰年的判断方法 【】普通闰年&#xff1a; 公历年份是4的倍数&#xff0c;且不是100的倍数 【】世纪闰年&#xff1a; 公历年份是整百数的年份&#xff0c;需是400的倍数 三、代码图片【带注释】 四、源代码…

Rabbitmq 死信取消超时订单

本文使用的版本 otp_win64_25.0rabbitmq-server-3.11.26rabbitmq插件 rabbitmq_delayed_message_exchange-3.11.1 pom.xml文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> …

Quartz如何获取当前执行的Trigger如何注册多个Trigger到Job中,如何自定义的 Trigger 类

如何获取当前执行的Trigger import org.quartz.*; import org.quartz.impl.StdSchedulerFactory;public class TriggerNameExample {public static void main(String[] args) throws SchedulerException {// 创建调度器Scheduler scheduler StdSchedulerFactory.getDefaultSc…

数组去重及去除指定值,每一个对象添加属性值

1、数组去重ES6写法 Set() // 数组去重 let arr [1,2,4,6,3,2,6,7,7,2,9,0,1,5] arr [...new Set(arr)] console.log(arr); 2、数组去除指定值 filter() // 数组去除指定值 let arr [1,2,4,6,3,2,6,7,7,2,9,0,1,5] const num 7 arr arr.filter(item>item!num) cons…

详解YOLOv5网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署

一、本文介绍 本文给大家带来的教程是利用YOLOv5训练自己的数据集&#xff0c;以及有关YOLOv5的网络结构讲解/数据集获取/环境搭建/训练/推理/验证/导出/部署相关的教程&#xff0c;同时通过示例的方式让大家来了解具体的操作流程&#xff0c;过程中还分享给大家一些好用的资源…

如何保证线程A,B,C顺序执行,或者C在A、B后执行?

第一种方案&#xff1a;使用CountDownLatch工具类 CountDownLatch&#xff1a;是Java多线程编程中的一个同步工具类&#xff08;计数锁&#xff09;&#xff0c;它允许一个或多个线程等待其他线程完成操作后再继续执行。其内部维护了一个计数器&#xff0c;当线程在执行任务完…

OpenAI 偷偷在训练 GPT-4.5!?

最近看到有人已经套路出 ChatGPT 当前的版本&#xff0c;回答居然是 gpt-4.5-turbo&#xff1a; 实际试验下&#xff0c;用 starflow.tech&#xff0c;切换到小星 4 全能版&#xff08;同等官网最新 GPT-4&#xff09;&#xff0c;复制下面这段话问它&#xff1a; What is the…

olap/clickhouse-编译器优化与向量化

本文主要结合15721和clickhouse源码来聊聊向量化&#xff0c;正好我最近也在用Eigen做算子加速&#xff0c;了解下还是有好处的。 提示编译器 提示编译器而不是复杂化简单的代码 什么时候使用汇编&#xff0c;什么时候使用SIMD&#xff1f;下面有几个基本原则&#xff1a; …

【ES】--Elasticsearch的深度分页/内存超限等问题

目录 一、ES存在哪些问题二、以上问题的解决方案 一、ES存在哪些问题 对于ES搜索&#xff0c;往往会有一系列的问题。 (1)、默认ES翻页到10000条之后&#xff0c;会报错&#xff1a;ElasticsearchException[Elasticsearch exception [typeillegal_argument_exception, reasonR…

AttributeError: module ‘IPython.utils.traitlets‘ has no attribute ‘Unicode‘

format_type _traitlets.Unicode(_JAVASCRIPT_MODULE_MIME_TYPE) AttributeError: module ‘IPython.utils.traitlets’ has no attribute ‘Unicode’ 解决&#xff1a; …/python3.10/site-packages/google/colab/data_table.py 这里修改如下导包问题 # from IPython.utils…

零基础自学C语言|字符函数和字符串函数

在编程的过程中&#xff0c;我们经常要处理字符和字符串&#xff0c;为了方便操作字符和字符串&#xff0c;C语言标准库中提供了一系列库函数&#xff0c;接下来我们就学习一下这些函数。 &#x1f4cc;字符分类函数 C语言中有一系列的函数是专门做字符分类的&#xff0c;也就…

mybatis框架的orm机制(类和数据库表的映射)

MyBatis框架之所以能够将数据库表映射到Java类&#xff0c;其核心原理是基于对象关系映射&#xff08;ORM&#xff09;。ORM是一种编程技术&#xff0c;用于在关系型数据库和面向对象编程语言之间建立映射关系&#xff0c;从而实现数据库表和对象之间的转换。 MyBatis实现映射…

对私域的认知,决定了你的私域能做多久!

现在&#xff0c;大部分企业对私域的认知是扭曲的。 比如&#xff0c;说到做私域&#xff0c;很多企业都是忙着往企业微信拉人&#xff0c;做自己的小程序商城来卖货。大多数企业就这样把私域当成了企业的独有“淘宝天猫”&#xff0c;这样做私域&#xff0c;可能会带来短期GM…

Flink系列之:Table API Connectors之Debezium

Flink系列之&#xff1a;Table API Connectors之Debezium 一、Debezium二、依赖三、使用Debezium Format四、可用元数据五、Format参数六、重复的变更事件七、消费 Debezium Postgres Connector 产生的数据八、数据类型映射 一、Debezium Debezium 是一个 CDC&#xff08;Chan…

在 Windows 上安装并配置 dig命令 的步骤

介绍&#xff1a;dig 是一个网络工具&#xff0c;通常在 Unix 和类 Unix 系统上使用&#xff0c;用于查询 DNS&#xff08;域名系统&#xff09;信息。它可以用来获取域名相关的信息&#xff0c;比如 IP 地址、域名服务器的记录等。你可以使用 dig 命令来进行域名解析、查找特定…

Spring之手写IoC

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…