Elasticsearch入门使用

1.安装

免安装,解压后直接运行 bin 目录下的 elasticsearch.bat 文件。

启动后打开浏览器输入 localhost:9200,显示如下消息即启动成功。

2.分词器插件

将 elasticsearch-analysis-ik-6.5.4 解压到 elasticsearch 解压目录下的 plugins 文件夹中。

3.可视化客户端

ElasticSearch Head 是一个浏览器插件/扩展程序。

直接将 ElasticSearch Head.crx 文件拖入浏览器,浏览器会自动识别扩展程序。

如果浏览器提示无法加载此扩展程序,点击浏览器的设置->扩展程序->右上角打开开发者模式,重启浏览器再次拖入 .crx 文件。如果还是不行,请参考如下连接中解决办法:

https://jingyan.baidu.com/article/f71d6037c581c91ab641d120.html

在 Elasticsearch 服务启动后打开浏览器使用插件。

4.Elasticsearch 操作客户端

解压 kibana-6.5.4-windows-x86_64 文件,尽量与 Elasticsearch 解压文件在同一目录下,方便管理。

配置 config 文件夹中的 kibana.yml 文件

直接运行 bin 目录下的 kibana.bat

访问 http://localhost:5601

点击 Dev Tools 即可操作 Elasticsearch

5. 核心概念

5-1. 索引 Index

​ 含有相同属性的文档的集合。

5-2. 文档 Document

​ 被索引的基本单位,一般情况下是 JSON 格式的,包含了一些列。

5-3. 列 Field

​ 列是 Elasticsearch 的最小单位,相当于数据的某个列。

5-4. 类型 Type

​ 索引可以定义一个或多个类型,文档必须属于一个类型。

​ es 6.x 后,要求一个索引只能包含一个类型。

为了便于理解,下图展示与关系型数据库的类比

6.其他概念(了解)

6-1. 逻辑概念

  1. 近实时: 数据更新会有1秒钟的延迟
  2. 节点: 单个装有es服务并且提供故障专员的拓展服务器
  3. 集群:一个集群就是由一个或者多个node组织在一起,共同工作。分享所有的数据,具有负载均衡功能的集群。

6-2. 物理概念:

  1. 分片(数据容器): 每个索引都有多个分片,每个分片是一个Luncene索引

    ​ 分为:主分片、从分片

  2. 备份:拷贝一份分片就是完成分片的备份

7.索引的操作

7-1. 添加

PUT my_index
{"settings": {"number_of_shards":5,"number_of_replicas":1}
}

7-2. 查看

GET my_index

还可以在 elasticsearch-head 插件中查看

7-3. 删除

DELETE my_index

7-4. 类型映射(相当于创建数据库表)

此次创建前要先删除,否则会报错已存在

PUT /my_index
{"mappings": {"users":{"properties": {"id":{"type": "long"},"name":{"type": "keyword"},"age":{"type": "integer"}}} }
}

7-5. 查看映射

GET /my_index/_mapping

8.文档操作

8-1. 数据类型

text 一个邮件地址,产品的描述可以使用该类型

keyword 精准的数据值查找,用于主机名、状态码

8-2. 数值类型

​ byte

​ short

​ integer

​ double

​ float

​ date

​ boolean

​ array

​ object

8-3. 添加文档(新增记录)

POST /索引名/类型名/文档ID
{field1:value1,field2:value2,.........
}POST /my_index/users/1
{"id":1,"name":"xiangyu","age":18
}

8-4. 查看文档 Field

GET /my_index/users/_search

8-5. 更新文档

POST /my_index/users/1/_update
{"doc": {"name":"lixiangyu"}
}

或者下面这种使用添加文档的写法,类似于覆盖数据

POST /my_index/users/1
{"id":1,"name":"xiangyu","age":18
}

8-6. 删除文档

DELETE /my_index/users/1

9. 高级部分

9-0. 准备数据

PUT /es_shop
{"mappings": {"shop_product": {"properties": {"id": {"type": "long"},"title": {"type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart","fields": {"keyword": {"type": "keyword","ignore_above": 256}  }},"price": {"type": "integer"},"intro": {"type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart","fields": {"keyword": {"type": "keyword","ignore_above": 256}  }},"brand": {"type": "keyword" }}}}
}
POST /es_shop/shop_product/_bulk
{"create":{"_id": 1}}
{"id":1,"title":"Apple iPhone XR (A2108) 128GB 白色 移动联通电信4G手机 双卡双待","price":5299,"intro":"【iPhoneXR限时特惠!】6.1英寸视网膜显示屏,A12仿生芯片,面容识别,无线充电,支持双卡!选【换修无忧版】获 AppleCare 原厂服务,享只换不修!更有快速换机、保值换新、轻松月付!","brand":"Apple"}
{"create":{"_id": 2}}
{"id":2,"title":"Apple 2019款 Macbook Pro 13.3【带触控栏】八代i7 18G 256G RP645显卡 深空灰 苹果笔记本电脑 轻薄本 MUHN2CH/A","price":15299,"intro":"【八月精选】Pro2019年新品上市送三重好礼,现在购买领满8000减400元优惠神劵,劵后更优惠!","brand":"Apple"}
{"create":{"_id": 3}}
{"id":3,"title":"Apple iPad Air 3 2019年新款平板电脑 10.5英寸(64G WLAN版/A12芯片/Retina显示屏/MUUL2CH/A)金色","price":3788,"intro":"8月尊享好礼!买iPad即送蓝牙耳机!领券立减!多款产品支持手写笔!【新一代iPad,总有一款适合你】选【换修无忧版】获 AppleCare 原厂服务,享只换不修!更有快速换机、保值换新、轻松月付!","brand":"Apple"}
{"create":{"_id": 4}}
{"id":4,"title":"华为HUAWEI MateBook X Pro 2019款 英特尔酷睿i5 13.9英寸全面屏轻薄笔记本电脑(i5 8G 512G 3K 触控) 灰","price":7999,"intro":"3K全面屏开启无界视野;轻薄设计灵动有型,HuaweiShare一碰传","brand":"华为"}
{"create":{"_id": 5}}
{"id":5,"title":"华为 HUAWEI Mate20 X (5G) 7nm工艺5G旗舰芯片全面屏超大广角徕卡三摄8GB+256GB翡冷翠5G双模全网通手机","price":6199,"intro":"【5G双模,支持SA/NSA网络,7.2英寸全景巨屏,石墨烯液冷散热】5G先驱,极速体验。","brand":"华为"}
{"create":{"_id": 6}}
{"id":6,"title":"华为平板 M6 10.8英寸麒麟980影音娱乐平板电脑4GB+64GB WiFi(香槟金)","price":2299,"intro":"【华为暑期购】8月2日-4日,M5青春版指定爆款型号优惠100元,AI语音控制","brand":"华为"}
{"create":{"_id": 7}}
{"id":7,"title":"荣耀20 PRO DXOMARK全球第二高分 4800万四摄 双光学防抖 麒麟980 全网通4G 8GB+128GB 蓝水翡翠 拍照手机","price":3199,"intro":"白条6期免息!麒麟980,4800万全焦段AI四摄!荣耀20系列2699起,4800万超广角AI四摄!","brand":"荣耀"}
{"create":{"_id": 8}}
{"id":8,"title":"荣耀MagicBook Pro 16.1英寸全面屏轻薄性能笔记本电脑(酷睿i7 8G 512G MX250 IPS FHD 指纹解锁)冰河银","price":6199,"intro":"16.1英寸无界全面屏金属轻薄本,100%sRGB色域,全高清IPS防眩光护眼屏,14小时长续航,指纹一健开机登录,魔法一碰传高速传输。","brand":"荣耀"}
{"create":{"_id": 9}}
{"id":9,"title":"荣耀平板5 麒麟8核芯片 GT游戏加速 4G+128G 10.1英寸全高清屏影音平板电脑 WiFi版 冰川蓝","price":1549,"intro":"【爆款平板推荐】哈曼卡顿专业调音,10.1英寸全高清大屏,双喇叭立体环绕音,配置多重护眼,值得拥有!","brand":"荣耀"}
{"create":{"_id": 10}}
{"id":10,"title":"小米9 4800万超广角三摄 6GB+128GB全息幻彩蓝 骁龙855 全网通4G 双卡双待 水滴全面屏拍照智能游戏手机","price":2799,"intro":"限时优惠200,成交价2799!索尼4800万广角微距三摄,屏下指纹解锁!","brand":"小米"}
{"create":{"_id": 11}}
{"id":11,"title":"小米(MI)Pro 2019款 15.6英寸金属轻薄笔记本(第八代英特尔酷睿i7-8550U 16G 512GSSD MX250 2G独显) 深空灰","price":6899,"intro":"【PCIE固态硬盘、72%NTSC高色域全高清屏】B面康宁玻璃覆盖、16G双通道大内存、第八代酷睿I7处理器、专业级调校MX150","brand":"小米"}
{"create":{"_id": 12}}
{"id":12,"title":"联想(Lenovo)拯救者Y7000P 2019英特尔酷睿i7 15.6英寸游戏笔记本电脑(i7 9750H 16G 1T SSD GTX1660Ti 144Hz)","price":9299,"intro":"超大1T固态,升级双通道16G内存一步到位,GTX1660Ti电竞级独显,英特尔9代i7H高性能处理器,144Hz电竞屏窄边框!","brand":"联想"}

9-1. 对查询结果进行排序

​ 升序:asc

​ 降序:desc

GET /es_shop/shop_product/_search
{"sort":{"price":"desc"}
}

9-2.多列排序

GET /es_shop/shop_product/_search
{"sort": [{"price":"desc"},{"id": "desc" }]
}

​ 或者

GET /es_shop/shop_product/_search
{"sort": [{"price":{"order": "desc"}},{"id":{"order": "desc"}}]
}

9-3. 分页查询

​ 注意数据的下标从 0 开始

GET /es_shop/shop_product/_search
{"sort": {"id":"desc"},"from": 0,"size": 3
}

​ 第二页

GET /es_shop/shop_product/_search
{"sort":{"id":"asc"},"from": 3,"size": 3}

9-4. 检索查询

  • term 等值查询
  • terms 多个等值查询
  • range 区间查询
  • match 模糊查询
9-4-1. 查找商品的价格等于15299的商品

等值用 term

GET /es_shop/shop_product/_search
{"query": {"term": {"price":15299}}
}
9-4-2. 查询id 为1 2的商品信息
GET /es_shop/shop_product/_search
{"query": {"terms": {"id":[1,2]}}
}
9-4-3. 我们查询商品的价格在5000–10000之间的商品,按照价格订单升序进行排列
GET /es_shop/shop_product/_search
{"query": {"range": {"price": {"gte": 5000,"lte": 10000}}},"sort": {"price":"desc"}
}
9-4-4. 查询一下商品的标题中 有“手机 游戏 ”
GET /es_shop/shop_product/_search
{"query": {"match": {"title": "手机 游戏"}}
}

9-5. 逻辑查询

​ 相当于

must -> and

should -> or

must_not -> not

9-5-1. 查询商品标题中含有 “ i7” 的字样 并且价格大于 6000元
GET /es_shop/shop_product/_search
{"query": {"bool": {"must": [{"range": {"price": {"gte": 6000}}},{"match": {"title": "i7"}}]}}
}
9-5-2. 查询商品标题中符合"pro"的字样或者 价格在 1000-- 3000之间
GET /es_shop/shop_product/_search
{"query": {"bool": {"should": [{"range": {"price": {"gte": 1000,"lte": 3000}}},{"match": {"title": "pro"}}]}}
}

9-6. 过滤查询

  • 过滤查询和检索查询从效果来看是一样的。区别在于过滤查询不平分,结果能缓存。检索查询要平分,如果不缓存,一般不会直接使用过滤查询。

检索查询时:

GET /es_shop/shop_product/_search
{"query": {"match": {"title": "pro"}}
}

过滤查询时:

GET /es_shop/shop_product/_search
{"query": {"bool": {"filter": {"match":{"title":"pro"}}}}
}

Elasticsearch入门使用相关推荐

  1. python elasticsearch 入门教程(二) ---全文搜索

    python elasticsearch 入门教程(二) ---全文搜索 截止目前的搜索相对都很简单:单个姓名,通过年龄过滤.现在尝试下稍微高级点儿的全文搜索--一项 传统数据库确实很难搞定的任务. ...

  2. Spring Data ElasticSearch入门案例

    Spring Data ElasticSearch入门案例 创建maven工程elasticsearch_springdata 基于maven导入坐标 导入spring data elasticsea ...

  3. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  4. ElasticSearch入门 :Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  5. ElasticSearch入门 附.Net Core例子

    1.什么是ElasticSearch? Elasticsearch是基于Lucene的搜索引擎.它提供了一个分布式,支持多租户的全文搜索引擎,它具有HTTP Web界面和无模式JSON文档. Elas ...

  6. ElasticSearch入门教程-索引

    ElasticSearch入门教程-索引 在本节中,我们将向Elasticsearch添加一些索引,映射和数据.此数据将用于本教程中说明的示例中. 创建索引 PUT http://localhost: ...

  7. ElasticSearch入门 第五篇:使用C#查询文档

    网址:http://www.cnblogs.com/ljhdo/p/4550135.html 这是ElasticSearch 2.4 版本系列的第五篇: ElasticSearch入门 第一篇:Win ...

  8. 和我一起打造个简单搜索之ElasticSearch入门

    本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...

  9. 全文搜索引擎 Elasticsearch 入门概念

    基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...

  10. python snap7 简书_第14篇-Python中的Elasticsearch入门

    我的Elasticsearch系列文章,逐渐更新中,欢迎关注 另外Elasticsearch入门,我强烈推荐ElasticSearch搭建手册给你,非常想尽的入门指南手册. 在本文中,我将讨论Elas ...

最新文章

  1. 洛谷 P3372 【模板】线段树 1(线段树区间加区间找)
  2. 多路平衡查找树(B Tree)(分裂、合并)
  3. box-shadow阴影合集
  4. configure: error: Curl library not foun
  5. 数学模型让咖啡更好喝
  6. 论文中的图片处理方法
  7. java word转html 空指针_Windows 内核漏洞学习—空指针解引用
  8. 先码后看,程序员的「双节」该买点什么?
  9. windows10 安装两台mysql进行主从复制
  10. Win10下Flutter开发环境搭建这一篇足矣
  11. 计算机云开头的词语,云开头的四字词语介绍
  12. c语言自动贩卖机设计报告,自动贩卖机课程设计.doc
  13. 失败者的人性弱点,来看看你中了几点
  14. python中*args,**args的区别
  15. 多线程、并发/并行、自定义线程类、线程安全、守护线程、定时器、线程状态、线程池
  16. excel中地理坐标经纬度格式调整:保留两位小数
  17. Excel快捷的把列宽调整到合适的宽度
  18. C语言用fun函数求平均值,下列给定程序中,函数fun()的功能是:给定n个实数,输出平均值,并统计平均..._考试资料网...
  19. Kali-Linux安装驱动并使用Blueman连接蓝牙耳机
  20. ff7重制版青魔法_FFV最终幻想7PC重制版攻略 第五十一章:大空洞

热门文章

  1. linux(ubuntu)系统下Top命令详解
  2. vue外卖二十:商家详情-评价列表:评价列表接口模拟-vuex获取完整数据链流程、滑动better-scroll
  3. 对多种时间格式进行解析
  4. FORTRAN 写代码过程中遇到的问题记录1
  5. 鸿蒙系统下滑线怎么设置,微信昵称下划线怎么打出来?微信下划线昵称设置教程...
  6. js去重filter
  7. 网络攻击之主动攻击和被动攻击
  8. python实现pca降维_Python实现PCA降维
  9. 深度学习实战13(进阶版)-文本纠错功能,经常写错别字的小伙伴的福星
  10. ShaderToy上后处理练习3——像素化