ElasticSearch入门
- 安装ElasticSearch
官网下载:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
下载后直接解压,要求jdk版本高于1.8
双击启动
-
浏览器访问
-
错误:在浏览器或postman中访问http://lcoalhost:9200无法访问
错误原因:本机hosts中localhost没有指向127.0.0.1
解决方案1:配置hosts,C:\Windows\System32\drivers\etc\hosts
解决方案2:使用http://127.0.0.1:9200访问
参考:https://www.jianshu.com/p/2cdb78442e29
- postman发送put请求进行测试
发送put请求表示创建索引,等同于创建数据库;创建test索引 -> http://localhost:9200/test
发送get请求表示获取索引,获取所有索引,http://lcoalhost:9200/_cat/indices?v
发送get请求获取单个索引,http://lcoalhost:9200/test
发送delete请求删除单个索引:http://lcoalhost:9200/test
-
为索引创建文档并指定id,一个文档表示一个对象
-
发送post请求,phone表示文档,后面的123表示自定义的id,请求体为json串,未指定id则自动生成,json部分的内容则为字段
-
根据id查询
-
发送post请求或put请求修改指定id的文档
test表示索引,phone表示文档,1表示id
-
delete请求删除指定id的文档
-
条件删除文档:发送post请求,删除price为123的文档
-
条件查询(query表示查询,match表示按条件,第三行表示要查询的字段)
-
关键字精确查询:查询book索引中title字段为sg的文档
-
多关键字精确查询:查询book索引中字段名title为sg、sg1的文档
-
查询全部
-
字段匹配查询:查询book索引中name、title字段的值为zs的文档
-
高亮查询:将查询结果高亮显示
-
查询结果指定显示字段:查询出的文档中只显示name、title字段
-
过滤字段:includes表示查询的结果中要显示的字段,excludes表示不显示的字段
-
分页查询:from表示第1页,size表示每页5条数据
-
排序:_source表示只显示title,sort表示排序;desc表示降序,asc表示升序
-
多字段排序
-
多条件查询:must表示多个条件同时成立
-
多条件查询:should表示其中一个条件成立
-
条件查询:指定范围,表示字段price大于500的文档
-
聚合查询:查询最大值
-
聚合查询:查询最小值
-
聚合查询:求某个字段的和
-
聚合查询:平均值
-
聚合查询:一次性返回总个数、最小值、最大值、平均值、总和
-
聚合查询:分组
-
全文检索:即是查询的字段并不全或顺序不对,依然能够检索到数据
-
完全匹配:字段必须完全一致
-
创建映射
首先创建索引student,发送put请求 -> http://192.168.43.150/student
之后如下创建映射;"type":"keyword"表示检索时必须完全匹配,"index":false表示该该字段不能用来检索
-
查看映射
-
创建完成索引后,只是使用以上的字段创建文档
-
索引映射关联
-
以上索引student1关联student后,student1也只能使用当前字段创建文档