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

  • 相关阅读:
    保持URL不变和数字验证
    centOS ftp key?
    本地环境测试二级域名
    linux 解决You don't have permission to access 问题
    php smarty section loop
    php header Cannot modify header information headers already sent by ... 解决办法
    linux部分命令
    Linux 里面的文件操作权限说明
    用IT网络和安全专业人士视角来裁剪云的定义
    SQL Server 2008 R2炫酷报表"智"作有方
  • 原文地址:https://www.cnblogs.com/bigshark/p/7905983.html
Copyright © 2011-2022 走看看