elasticsearch2.x ik插件
先来一个标准分词(standard),配置如下:
curl -XPUT localhost:/local -d '{ "settings" : { "analysis" : { "analyzer" : { "stem" : { "tokenizer" : "standard", "filter" : ["standard", "lowercase", "stop", "porter_stem"] } } } }, "mappings" : { "article" : { "dynamic" : true, "properties" : { "title" : { "type" : "string", "analyzer" : "stem" } } } } }'
index:local
type:article
default analyzer:stem (filter:小写、停用词等)
field:title
测试:
# Index Data curl -XPUT localhost:/local/article/ -d'{"title": "Fight for your life"}' curl -XPUT localhost:/local/article/ -d'{"title": "Fighting for your life"}' curl -XPUT localhost:/local/article/ -d'{"title": "My dad fought a dog"}' curl -XPUT localhost:/local/article/ -d'{"title": "Bruno fights Tyson tomorrow"}' # search on the title field, which is stemmed on index and search curl -XGET localhost:/local/_search?q=title:fight # searching on _all will not do anystemming, unless also configured on the mapping to be stemmed... curl -XGET localhost:/local/_search?q=fight
例如:
Fight for your life
分词如下:
{"tokens":[ {"token":"fight","start_offset":,"end_offset":,"type":"<ALPHANUM>","position":},<br>{"token":"your","start_offset":,"end_offset":,"type":"<ALPHANUM>","position":},<br>{"token":"life","start_offset":,"end_offset":,"type":"<ALPHANUM>","position":} ]}
部署ik分词器
在elasticsearch.yml中配置 index.analysis.analyzer.ik.type : "ik"
delete之前创建的index,重新配置如下:
curl -XPUT localhost:/local -d '{ "settings" : { "analysis" : { "analyzer" : { "ik" : { "tokenizer" : "ik" } } } }, "mappings" : { "article" : { "dynamic" : true, "properties" : { "title" : { "type" : "string", "analyzer" : "ik" } } } } }'
测试:
curl 'http://localhost:9200/local/_analyze?analyzer=ik&pretty=true' -d' { "text":"中华人民共和国国歌" } ' { "tokens" : [ { "token" : "text", "start_offset" : , "end_offset" : , "type" : "ENGLISH", "position" : }, { "token" : "中华人民共和国", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "国歌", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : } ] }
如果我们想返回最细粒度的分词结果,需要在elasticsearch.yml中配置如下:
index: analysis: analyzer: ik: alias: [ik_analyzer] type: org.elasticsearch.index.analysis.IkAnalyzerProvider ik_smart: type: ik use_smart: true ik_max_word: type: ik use_smart: false
测试:
curl 'http://localhost:9200/index/_analyze?analyzer=ik_max_word&pretty=true' -d' { "text":"中华人民共和国国歌" } ' { "tokens" : [ { "token" : "text", "start_offset" : , "end_offset" : , "type" : "ENGLISH", "position" : }, { "token" : "中华人民共和国", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "中华人民", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "中华", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "华人", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "人民共和国", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "人民", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "共和国", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "共和", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : }, { "token" : "国", "start_offset" : , "end_offset" : , "type" : "CN_CHAR", "position" : }, { "token" : "国歌", "start_offset" : , "end_offset" : , "type" : "CN_WORD", "position" : } ] }
elasticsearch2.x ik插件的更多相关文章
- ElasticSearch搜索引擎安装配置中文分词器IK插件
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...
- elasticsearch 口水篇(8)分词 中文分词 ik插件
先来一个标准分词(standard),配置如下: curl -XPUT localhost:9200/local -d '{ "settings" : { "analys ...
- Elastic ik插件配置热更新功能
ik github地址:https://github.com/medcl/elasticsearch-analysis-ik 官网说明: 热更新 IK 分词使用方法 目前该插件支持热更新 IK 分词, ...
- 【自定义IK词典】Elasticsearch之中文分词器插件es-ik的自定义词库
Elasticsearch之中文分词器插件es-ik 针对一些特殊的词语在分词的时候也需要能够识别 有人会问,那么,例如: 如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”. 如 ...
- Elasticsearch安装ik中文分词插件(四)
一.IK简介 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源项目Lu ...
- 在ElasticSearch中使用 IK 中文分词插件
我这里集成好了一个自带IK的版本,下载即用, https://github.com/xlb378917466/elasticsearch5.2.include_IK 添加了IK插件意味着你可以使用ik ...
- ElasticSearch(三) ElasticSearch中文分词插件IK的安装
正因为Elasticsearch 内置的分词器对中文不友好,会把中文分成单个字来进行全文检索,所以我们需要借助中文分词插件来解决这个问题. 一.安装maven管理工具 Elasticsearch 要使 ...
- ES之一:Elasticsearch6.4 windows安装 head插件ik分词插件安装
准备安装目标:1.Elasticsearch6.42.head插件3.ik分词插件 第一步:安装Elasticsearch6.4 下载方式:1.官网下载 https://www.elastic.co/ ...
- Elastic Stack 笔记(二)Elasticsearch5.6 安装 IK 分词器和 Head 插件
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 作为开源搜索引擎服务器,其核心功能在于索引和搜索数据.索引是把文档写入 Elasticsearch 的过程, ...
随机推荐
- 51nod 1272 思维/线段树
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1272 1272 最大距离 题目来源: Codility 基准时间限制:1 ...
- 简单CSS3动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 如何下载中文语言包让Eclipse汉化?
Eclipse软件是JAVA开发必备的软件,对于英语不好的人而言面对英文代码还好,但是软件也是英语的那就头疼了,怎么解决?可以去官网下载中文语言包解压到Eclipse安装目录就可以汉化了. 工具/ ...
- Java_数据交换_JAXB_用法入门
一.前言 最近有个需求,需要进行xml 与 bean 的相互转化. 使用 JAXB 可完成这个需求. 二.概述 JAXB(Java Architecture for XML Binding) 是一个业 ...
- 延时并自动关闭MessageBox
信息提示框(MessageBox)是微软NET自带的一个用于弹出警告.错误或者讯息一类的“模式”对话框.此类对话框一旦开启,则后台窗体无法再被激活(除非当前的MessageBox被点击或者关闭取消). ...
- C++string类整理
string类 string类 头文件:#include<string> 名称空间:using namespace std; 初始化: string Str; String类的构造函数和析 ...
- 如何选择MySQL数据库的安装方式
MySQL数据库安装有yum安装,rpm安装,二进制编译安装,cmake,或者make安装,但是选择什么样的安装方式则全看实际应用场景. 下为网友总结安装方式选择: 若是对数据库要求不太高的场景 ...
- 如何使用SOCKET 发送HTTP1.1 GET POST请求包
http://blog.csdn.net/yc0188/article/details/4741871 http://docs.linuxtone.org/ebooks/C&CPP/c/ch3 ...
- Reinforcement Learning Q-learning 算法学习-1
- 下载安装tomcat至服务器
1.安装JDK之后,下载Tomcat:http://tomcat.apache.org/download-70.cgi选择下载32-bit/64-bit Windows Service Install ...