Elasticsearch5.5.1学习笔记
在linux下增加ik分词
一、下载分词器安装包
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip
二、解压并安装
1.移动elasticsearch-analysis-ik-5.5.1.zip到安装目录的plugins目录
mv elasticsearch-analysis-ik-5.5.1.zip /root/elasticsearch/elasticsearch-5.5.1/plugins/
2.进入安装目录的plugins目录
cd /root/elasticsearch/elasticsearch-5.5.1/plugins/
3.解压
unzip elasticsearch-analysis-ik-5.5.1.zip
4.删除压缩包
rm -rf elasticsearch-analysis-ik-5.5.1.zip
按照官方说明,这时已经成功安装了,重启ElasticSearch即可。
三、测试
使用的是postman工具
扩展自己的分词:
my.dic
小米手机
华为手机
其他的查询语句:
集群健康
curl -X GET 'http://localhost:9200/_cluster/health?pretty=true'
Elasticsearch有一个功能叫做聚合(aggregations),它允许你在数据上生成复杂的分析统计。它很像SQL中的GROUP BY但是功能更强大。
megacorp/employee的格式:
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests" : [
"sports",
"music"
]
}
找到所有职员中最大的共同点(兴趣爱好)是什么:
{
"aggs": {
"all_interests": {
"terms": {
"field": "interests.keyword"
}
}
}
}
统计每种兴趣下职员的平均年龄:
curl -X GET 'http://localhost:9200/megacorp/employee/_search?pretty=true' -d '
{
"aggs" : {
"all_interests" : {
"terms" : { "field" : "interests.keyword" },
"aggs" : {
"avg_age" : {
"avg" : { "field" : "age" }
}
}
}
}
}’
合并多子句
{
"query": {
"bool": {
"must": {
"match": {
"first_name": "doublas"
}
},
"must_not": {
"match": {
"last_name": "roger"
}
}
}
}
}
查询语句里面加过滤条件:
{
"query": {
"bool": {
"filter": {
"term": {
"first_name": "john"
}
},
"must": {
"match": {
"last_name": "smith"
}
}
}
}
}
查询是高亮:
{
"query":{
"match":{
"about":"rock climbing"
}
},
"highlight":{
"pre_tags":["<font color='red'>"],
"post_tags":["</font>"],
"fields":{
"about":{}
}
}
}
multi_match查询
http://localhost:9200/megacorp/employee/_search?pretty=true {
"query":{
"multi_match":{
"query":"smith",
"fields":["last_name","first_name"]
}
}
} 查询last_name,或first_name有smith的文档 也可以使用通配符 {
"query":{
"multi_match":{
"query":"smith",
"fields": "*_name"
}
}
}
对结果排序:
{
"query":{
"match":{
"last_name":"smith fir"
}
},
"sort":{
"age":"desc"
}
}
多级排序
{
"query":{
"match":{
"about":"I like to collect"
}
},
"sort":[
{"age":{"order":"desc"}},
{"_score":{"order":"desc"}}
]
}
实现分词动态加载:
ik分词的配置中是可以远程加载词库的,此时新建一个web项目代表远程词库,例如我的词库地址为:
配置:
当我们启动ES的时候会看到相应的日志记录,如下:
elasticsearch6.0.0 ik分词器 测试:
curl -H "Content-Type: application/json" -XGET 'http://localhost:9200/_analyze?pretty=true' -d '
> {
> "analyzer":"ik_max_word",
> "text":"中华人民共和国"
> }'
Elasticsearch5.5.1学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- A4988和CNC SHIELD使用方法 步进电机
接线视频 点这看视频 来源 https://www.basemu.com/a4988_pinout_and_how_to_use.html 注意要点 A4988既要12V外部供电,也要5V逻辑供电 我 ...
- tomcat的systemctl启动脚本
最近在做Tomcat的实验,顺便研究了一下tomcat的启动脚本发现一个问题,然后经过多方查阅其他大神的资料,终于解决,现在跟大家分享. tomcat的启动脚本跟别的脚本有稍微区别的原因是他需要识别J ...
- java基础 (一)之HashMap
HashMap的存储结构是由数组和链表共同完成.Entry<K,V>[] ,Entry是单向链表. 1 HashMap数据结构 HashMap的底层主要是基于数组和链表来实现的,它之所以有 ...
- 开机自动启动WEB服务,共享目录。
最近工作中,需要共享一个目录,每次重启总要手动执行一下 nohup python -m SimpleHTTPServer 8000这个命令,想着实现让它开机自动启动,就一劳永逸了. 手动步骤如下: ...
- spring cloud(一)带你进入分布式
spring cloud是近年来比较火的热门话题,很多大型公司也渐渐转型使用spring cloud来完善各种开发模式,我认为主要是由spring团队开发由来,致使会有那么多的使用者,在java的领域 ...
- Maven入门介绍
一.Maven的基本概念 1.1为什么需要Maven(作用) Ⅰ. 大家都知道使用Maven,那么我们为什么要要使用maven大家思考过吗?其实我也只是对maven入门阶段,刚刚接触的时候只是知道使用 ...
- Annotations
一.介绍 注解,可以将注解看成一种特殊的接口.是一种特殊种类的元数据,它能够关联Java语言中不同元素和结构.有意思的是,在Java生态系统中大多数使用样板XML描述符的地方,注解在消除这些XML描述 ...
- wincc项目移植和复制解决办法
wincc项目复制 wincc项目不支持直接复制,部分的后台数据库在活跃状态,直接复制wincc项目,会提示跳过活跃状态的数据库,当跳过活跃数据库时,复制的项目也是无效的.在wincc项目管理器中打不 ...
- C# 远程传输File文件
/// <summary> /// 向论坛传图片文件 /// </summary> /// <param name="filePath">< ...
- Python---遍历序列的各种方式
本文主要列举使用for循环遍历类似list结果的方式,因为老是使用for e in w_list真的是太没创意了,这显然不是我的风格,嘿嘿... 1. for item in s: 遍历s中的元素 2 ...