全文检索引擎ElasticSearch:文档管理、集成IK分词器
ElasticSearch
- 文档管理
- 添加文档
- 修改文档
- 删除文档
- 文档的查询
- IK分词器安装
- 使用IK分词器
文档管理
添加文档
定位到资源
url
http://localhost:9200/{index}/{type}/{_id}
_id:文档的id
方法
put、post
请求体:json数据格式
{"id":1,"name":"张三","address":"浙江杭州"
}
注意:_id
和id
不是同一个东西
_id
:文档的id,es自动创建
id
:一个自定义的字段
如果使用post方法添加文档,可以不设置文档的id,es会自动生成一个id(一般推荐使用put的写法,可以使id和_id保持一致)。
修改文档
其实就是先删除后添加。所以修改与添加的方法相同。
url:
http://localhost:9200/{index}/{type}/{_id}
方法:
POST
请求体:修改结果对应的文档。
删除文档
url:
http://localhost:9200/{index}/{type}/{_id}
方法:
delete
文档的查询
一、使用headmaster查询
数据过滤查询
简单查询功能:
根据id查询
根据term(关键词)查询:一个关键词就是一个term,包含两部分内容
关键词所在的域
关键词本身根据query_string查询:先分词再进行查询
二、使用restful api查询
1、 根据id查询
定位到资源:
http://localhost:9200/{index}/{type}/{_id}
方法
GET
2、根据term查询
url
http://localhost:9200/{index}/{type}/_search
方法
POST
请求体
查询条件,使用json格式表示。
{"query":{"term":{"name":"小"}}
}
3、根据query_string查询
url
http://localhost:9200/{index}/{type}/_search
方法
POST
请求体
{"query":{"query_string":{"query":"小明在哪?","default_field":"name"}}
}
IK分词器安装
以插件形式安装到es中,注意es安装插件后,es的绝对路径中,不能有空格,否则会出现预料之外的错误!!!
下载地址,如果下载失败,则可以下载源代码然后使用maven进行编译打包
https://github.com/medcl/elasticsearch-analysis-ik/releases
安装方法:
- 下载ik的ES插件(注意要对应版本),如果下载速度慢,可以使用gitee
- 解压缩
- 解压后的文件夹复制到es的plugins目录下
- 重启es服务
测试分词器:可以通过一个url测试分词器的分词效果
使用get
方法即可
ik分词器的名称:
- ik_smart:快速分词
- ik_max_word:最细粒度分词
6.x以下版本的测试方法
http://localhost:9200/_analyze?analyzer=ik_max_word&text=我是程序员
6.x以上版本的测试方法
使用IK分词器
设置mapping时,指定中文分词器
创建新的索引库,添加数据
查询出来了两条结果
全文检索引擎ElasticSearch:文档管理、集成IK分词器相关推荐
- Elasticsearch - 文档分析,IK分词器;文档冲突(十二)
阅读本文前可先参考 Elasticsearch - Elasticsearch详解:安装部署(一)_MinggeQingchun的博客-CSDN博客 https://blog.csdn.net/Min ...
- ik分词器 分词原理_ElasticSearch 集成Ik分词器
1 . 由于 ElasticSearch 默认的分词器不支持中文分词,所以我们需要集成IK 分词器. 2. 集成步骤 https://github.com/medcl/elasticsearch-an ...
- elasticsearch 的高级检索以及 Ik分词器的配置和使用
首先准备测试数据 这是测试数据 点击去获取 使用上一篇我们安装的 kibana 将他们批量插入到es中 POST /bank/account/_bulk 数据插入成功之后可以在 psotman 调用 ...
- Elasticsearch入门之从零开始安装ik分词器
起因 需要在ES中使用聚合进行统计分析,但是聚合字段值为中文,ES的默认分词器对于中文支持非常不友好:会把完整的中文词语拆分为一系列独立的汉字进行聚合,显然这并不是我的初衷.我们来看个实例: POST ...
- 【elasticsearch系列】windows安装IK分词器插件
环境 github下载:https://github.com/medcl/elasticsearch-analysis-ik/releases 注意,IK分词器插件要与ES版本保持一致: 有的小伙伴在 ...
- es ik分词热更新MySQL,ElasticSearch(25)- 改IK分词器源码来基于mysql热更新词库
代码地址 已经修改过的支持定期从数据库中提取新词库,来实现热更新.代码: https://github.com/csy512889371/learndemo/tree/master/elasticse ...
- Elasticsearch集成ik分词器
1.插件地址 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.0/elasticsearch-ana ...
- Elasticsearch 之(24)IK分词器配置文件讲解以及自定义词库
1.ik配置文件 ik配置文件地址:es/plugins/ik/config目录 IKAnalyzer.cfg.xml:用来配置自定义词库 main.dic:ik原生内置的中文词库,总共有27万多条, ...
- 【Elasticsearch】一次 排查 iK 分词器 查询慢 分词多 内容大 的问题记录
1.概述 我的问题如下:1.ES中有1.2亿的数据,有些column是用来做聚合索引,有些是文本字段,用来做查询. 2.而且ES没有做集群,全部数据放在了一台服务器上,内存32G,如今在前端页面上进行 ...
最新文章
- 课后习题代码持续更新。。。。。。。。。。。。。
- 前端不哭!最新优化性能经验分享来啦 | 技术头条
- Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel)
- Java实现内嵌浏览器
- 怎么组建战队_硬管加油技术在上世纪就诞生了,为何只有美国在用,我们怎么不用?...
- LeetCode 293. Flip Game
- Turbo C 2.0、Borland C++库函数及用例
- Android学习之碎片与活动之间的通信
- C++ 构造函数后面有冒号 ~ : ()
- NETCDF C and FORTRAN 4.2 安装笔记
- 网络安全应急响应的基本流程
- 【Java面试】第二章:P5级面试
- JAVA面试总结(初版)
- 修复SSH Weak Algorithms Supported漏洞
- 优化器TORCH.OPTIM
- mysql用户角色权限表的关系_用户、角色、权限表的关系(mysql)
- 【imx6ul】从头搭建imx6ul开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)
- 清除计算机策略,怎么删除组策略
- ubuntu搭建php运行环境
- 基于深度神经网络的股票多因子预测模型