码迷,mamicode.com
首页 > 其他好文 > 详细

Elasticsearch-基本操作1

时间:2017-11-27 23:35:44      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:update   下划线   size   sha   value   清理   get   元数据   请求   


Elasticsearch版本:6.0


一、文档

一个文档不仅包含数据,也包含元数据,三个必须的元数据如下

_index:具有共同特性分到一起的文档集合,标示了文档的存放位置;

    名字小写,不以下划线开头,不包含逗号。

_type:表示文档的类型,在索引中对数据进行逻辑分区;

    名字大写或小写,不以下划线或句号开头,不包含逗号,并且长度限制256个字符。

_id:文档的唯一标识,和_index和_type组合可以唯一确定Elasticsearch中的一个文档;

    可以自定义id值,或者由Elasticsearch来生成。

二、Rest风格

PUT /{index}/{type}/{id}
{
  "field": "value"
}

POST:创建,不指定id时,Elasticsearch自动生成id,指定id时,如果文档存在,会返回409 Conflict;

PUT:可以创建/更新文档,更新时,旧文档被标记为删除,增加新文档,Elasticsearch后台清理这些标记删除的文档;

GET:搜索文档;

DELETE:删除文档,实际上是在.del文件中被标记删除,被删除的文档仍然可以被查询匹配到,但是它会在最终结果被返回前从结果集移除,更新操作类似;


部分更新文档

    使用PUT整个更新文档时,需要检索并修改,再重新索引整个文档,而使用update API可以部分更行文档,需要用POST /_update操作,实际上它在内部依然进行了检索-修改-重建索引的过程,但是这个过程是发生在分片内部的,避免多次请求的网络开销。

三、搜索结果

1、hits:包含total字段表示匹配到的文档总数;

    包含_index、_type、_id、_source字段,标记整个文档信息;

    _score字段表示文档和查询的匹配程度,搜索结果默认按照_score降序排序;

    max_score是_score的最大值;

2、took:执行整个搜索消耗了多少毫秒;

3、_shards:查询中参与分片的总数,以及分别成功和失败了多少个;

4、timed_out:查询是否超时true/false;


Elasticsearch默认查询分页,默认返回十条数据,可以指定分页参数

    size:返回的结果数量,默认10

    from:页数,默认0


分页的问题

    Elasticsearch是分布式的,分页时会从各个分片产生结果集,最后汇总到协调节点重新排序获得结果集,对多余的结果进行抛弃,所以一般查询不要超过1000个结果。

Elasticsearch-基本操作1

标签:update   下划线   size   sha   value   清理   get   元数据   请求   

原文地址:http://www.cnblogs.com/bigshark/p/7905983.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!