zoukankan      html  css  js  c++  java
  • Elasticsearch-基本操作1


    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个结果。

  • 相关阅读:
    WinRAR5.01注册码附注册机
    PS不能存储,因为程序错误
    mysql中 date datetime time timestamp 的区别
    sublime text 3 3126 注册码+中文包
    IIS7.5 用 IIS AppPool应用程序池名 做账号 将各站点权限分开
    linux vi 报错 E37: No write since last change (add ! to override)
    Linux 安装 apache2.4.23
    三级分类及名称及列表
    二级栏目名称及列表
    每隔N行输出不同样式
  • 原文地址:https://www.cnblogs.com/bigshark/p/7905983.html
Copyright © 2011-2022 走看看