利用Sence来检索索引,启动ES+kibana后浏览器访问:http://localhost:5601/app/sense,然后我们就可以进行索引的相关操作了。
-
添加(PUT)
点击绿色三角执行后,看到右边显示框提示索引创建成功。
megacorp:索引名称。
employee:类别名称。
1:ID号,这里表示John Smith这个员工的ID号。
- 检索(GET)
查询 megacorp 索引下 employee 类别的ID号为1的员工信息。
查询 megacorp 索引下 employee 类别下所有员工信息。_search方法默认显示前10条索引信息。
- 指定查询
- DSL查询
字符串查询方便从命令行检索,但是有局限性,因此Elasticsearch提供了丰富、灵活的查询语言查询DSL,它是以JSON格式为主体,方便我们建立更加复杂的、健壮的查询。
- 复杂查询
查询年龄超过30岁的名叫Smith的所有员工。
filter:过滤查询。
- 全文检索
查询about为rock climbing的员工。
但是,你会发现有两个匹配的结果。默认情况下, Elasticsearch 会匹配相似字段的文档,排在第一位一定是与查询值相同的文档。
- 精确查询(match_phrase)
与全文检索不同的是:精确查询只匹配相同的属性值,不匹配相似的属性值。
- 高亮查询(highlight)
当我们运行这个查询,我们得到一个新的部分的反应称为突出的文档。它包含一个片段的文本字段的匹配词包在< em > < / em > HTML标记。
默认情况下,强调将突出显示的文本在< em >和< / em >。这可以通过设置控制pre_tags post_tags,例如:
更多知识点请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html
- 数据统计
Elasticsearch称为聚合功能,允许您生成复杂的分析数据。这是类似于SQL的GROUP BY,但更强大。
查询员工最感兴趣的的数据:
平均数
最感兴趣活动的员工的平均年龄:
- 删除(DELETE)
删除ID为4的职员后只查到了3条数据:
- 更新索引(UPDATE)
文档在ES中是不可变的,我们无法修改,如果我们需要更新文档,唯一的方法就是重建(reindex)或者替换掉它。
我们看到ES把_version增加了,created为false,因为同索引、同类型下有相同ID的文档。
在内部,ES已经把reindex之前的文档数据标记为删除了,并且新增了一个文档。旧版本的文档不会立即消失,只是无法访问,ES会在后续处理文档的过程中删除该旧版本文档。
- 文档局部更新
添加一个address属性:
address 属性已被添加到_source中。
- _mget 多文档检索
_mget API参数是一个docs
数组,数组的每个节点定义一个文档的_index
、_type
、_id
元数据,例如:
如果你只想检索一个或几个确定的字段,也可以定义一个_source
参数:
不同_index 或者 _type下检索文档:
如果你想检索的文档在同一个_index
中或者_type
中s,你就可以在URL中定义一个默认的/_index
或者/_index/_type:
- 分页
size:显示数量,默认是10
from:跳过的数量,默认是0
- 9