1.创建一个索引
PUT /索引名/类型名(之后可以没有 直接用_doc代替)/文档id
{
请求体
}
然后head中会出现索引test1,并且可以在数据浏览处看到新增的文档
2.常用类型type
3.指定字段类型(创建规则)
这里索引的新增并没有添加文档,上方的/test1/type1/1不光创建了索引还添加了文档。
同时这里设置了字段的类型。
4.获取规则
通过GET请求获取具体的信息
GET /索引名 #获取索引的信息
GET /索引名/类型名/文档ID #获取该文档的信息 GET /test1/type1/1
5.查看默认类型
上方的test1索引并没有指定文档字段类型,但是es会默认给字段指定类型
扩展
可以通过_cat/命令获取es当前的很多信息。
GET _cat/health #查看es当前健康值
GET _cat/indices?v #查看所有的版本信息
......
6.修改索引
仍然可以使用PUT提交覆盖原始数据。
POST /索引名/类型名/文档ID/_update
{
"doc":{
需要修改的字段和对应的value
}
}
查看该文档的信息时,会看到对应的_version加一
7.删除索引
DELETE 索引名 #直接删除掉该索引
DELETE 索引名/类型名/文档ID #删除该文档
当删除之后使用GET进行查询时,会发现found已经为false
关于文档的基本操作
主要是搜索
GET /test1/type1/1
GET /test1/type1/_search?q=name:lala #查询name中有lala字样的文档 q是必须的代表的是query
复杂操作搜索 (排序,分页,高亮,模糊查询,精准查询......)
hit
当有多个结果返回时:
**花式查询
kibana中去掉_doc就会有提示.....
1.分词查找+过滤查询
查找时,结果的过滤(只显示哪些字段,直接使用进行过滤的key就可以) select * => select name,age
match分词查询:
用于查询字段类型为text的字段,match进行搜索的时候,会先进行分词拆分,拆完后,再来匹配
两个类型 text keyword(不能被分词器分词)
使用keyword类型数据进行查找时,并不会进行分词。
2.排序sort
3.分页查询
form 从那个数据开始;size 返回多少条数据(一页多少数据) 类似:limit from size
4.布尔值查询bool
must:其中的条件都必须符合的 and
must_not:其中的条件都必须不符合的 not
should:其中的条件只满足一个就可以 or
5.过滤器filter
range:范围
gt:大于
gte:大于等于
lt:小于
lte:小于等于
可以进行多个条件组合。
eg:大于10小于等于25
"gt":10,
"lte":25
6.匹配多个条件 多个条件用空格分开
7.精确查询term
term是代表完全匹配,也就是直接通过倒排索引指定的词条进行精确查询,通常用于对keyword和有精确值的字段进行查询,搜索前不会再对搜索词进行分词拆解
(1)使用keyword和有精确值的字段之外的:
(2)使用keyword和有精确值的字段
8.terms聚合
term对查找单个值很有用,但是需要搜索多个值就需要使用terms来进行。
同时也可以使用布尔值中的should或者must进行多个term组合查询
9.高亮查询highlight
自定义搜索高亮标签
pre_tags:前缀
post_tags:后缀
转载请表明出处!!