在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学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. Bootstrap3基础 table-striped 表格实现隔行换色(浅灰色与白色交替)

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  2. JS(JavaScript)的初了解4(更新中···)

    1.JS的本质就是处理数据.数据来自于后台的数据库. 所以变量就起到一个临时存储数据的作用. ECMAScript制定了JS的数据类型. 数据类型有哪些? 字符串   String 数字    Num ...

  3. Win32汇编学习(5):绘制文本2

    这次我们将学习有关文本的诸多属性如字体和颜色等. 理论: Windows 的颜色系统是用RGB值来表示的,R 代表红色,G 代表绿色,B 代表蓝色.如果您想指定一种颜色就必须给该颜色赋相关的 RGB ...

  4. 论文笔记:Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

    Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks ICML 2017 Paper:https://arxiv.org/ ...

  5. Java 基础 类加载器和双亲委派机制 学习笔记

    转自博客:https://blog.csdn.net/weixin_38118016/article/details/79579657 文章不是我写的,但是感觉写的挺通俗易懂的,然后防止以后丢失,就转 ...

  6. _pvp

    comment 备注 zone 区域ID,.gps第二个参数 area 地域ID,.gps第三个参数 type 区域类型(保持原状.安全区.自由PVP.自由PVP - 禁止组队.自定义阵营(_fact ...

  7. group by查询每组时间最新的一条记录

    最近需要查询每组时间最新的记录 表如下:

  8. 《F4+2》—基于原型的团队项目需求调研与分析

    任务一 1.调研对象 老师和学生 2.所开发的软件原型 太阳系模型软件 3.调研方法 问卷调查法 原型法 任务二 采用UML模型描述任务1所获取的用户需求,如下: 主要需求: 教师:把系统展示给学生, ...

  9. 第三方API使用的好习惯

    1自己封装API接口 有些不很稳定的API接口,最好还是自己封装隔离后再使用,否则哪天它一改接口,那我得到处替换了 比如融云的群组,聊天室

  10. 【分布式搜索引擎】Elasticsearch中的基本概念

    一.Elasticsearch中的基本概念 以下概念基于这个例子:存储员工数据,每个文档代表一个员工 1)索引(index)  在Elasticsearch中存储数据的行为就叫做索引(indexing ...