zoukankan      html  css  js  c++  java
  • Elasticsearch的Search详解

    介绍

    ES不是新技术,是将全文检索和数据分析、分布式整合到一起。
    基于lucene开发,提供简单的restful api接口、java api接口、其他语言开发接口等。
    实现了分布式的搜索引擎和分析引擎。
    补充数据库在现在互联网领域中的不足,如:全文检索、同义词处理、相关度排名、复杂数据分析、海量数据近实时处理等。

    相关概念

    倒排索引

    对数据进行分析,抽取出数据中的词条,以词条作为key,对应数据的存储位置作为value,实现索引的存储。这种索引称为倒排索引。

    终于有人把Elasticsearch原理讲透了!

    Near Realtime (NRT) 接近实时

    近实时。有两层概念,从写入数据到可搜索数据有一个延迟(1秒左右,分析写入数据的过程);基于ES执行搜索和分析可以达到秒级别的响应。

    Cluster&Node

    Cluster-集群。包含多个节点,每个节点通过配置来决定属于哪一个集群(默认集群命名为“elasticsearch”)。
    对于中小型应用来说,最初只有一个节点也是很正常的。
    Node-节点
    集群中的一个节点,节点的名字默认是随机分配的。节点名字在运维管理时很重要,
    节点默认会自动加入一个命名为“elasticsearch”的集群,如果直接启动多个节点,
    则自动组成一个命名为“elasticsearch”的集群。当然单节点启动也是一个集群。

    Document文档

    ES中的最小数据单元。一个Document就是一条数据,一般使用JSON数据结构表示。
    每个Index下的Type中都可以存储多个Document。一个Document中有多个field,field就是数据字段。如:
    product document
    {
    "product_id":1,
    "product_name":"xxx",
    .....
    }

    Index索引

    包含若干相似结构的Document数据。
    如:客户索引,订单索引,商品索引等。一个Index包含多个Document,也代表一类相似的或相同的Document。
    如:订单索引中存放了所有的订单数据(就是所有的订单Document)

    Type类型

    每个索引中都可以有若干Type,Type是Index中的一个逻辑分类,同一个Type中的Document都有相同的field。
    示例:订单索引,不同状态的订单包含不同的内容,如:未支付订单(自动取消时间)和已支付订单(支付时间)、已发货订单(发货时间、物流信息)等都有不同的内容。
    ES6.x版本之后,type概念被弱化,一个index中只能有唯一的一个type。且在7.x版本之后,会删除type定义

    shard

    一个index默认10个shard,5个primary shard(主分片),5个replica shard(副本分片)。
    最小的高可用配置需要2台服务器。因为ES要求primary shard和replica shard不能处于同一个节点中;

    对比数据库理解

    Search

    • 使用Postman测试

    查看健康的状态

    GET /_cat/health?v

    status:green、yellow、red
    green:每个索引的primary shard和replica shard都是active的
    yellow:每个索引的primary shard都是active的,但部分的replica shard不是active的
    red:不是所有的索引都是primary shard都是active状态的。

    展示所有的索引

    GET /_cat/indices?v

    官方文档

    官方文档

  • 相关阅读:
    js-计算器
    正确看待HTML5的语法变化
    什么是Web前端,Web前端是做什么的?
    css复合属性的写法
    Unicode与JavaScript详解
    input 定宽,文本超出后缩小字体,尽可能多的显示文本
    手机号中间四位加*号
    React 状态和生命周期
    还是数组 练习题 而已
    数组 练习题 而已
  • 原文地址:https://www.cnblogs.com/wangsen/p/11608125.html
Copyright © 2011-2022 走看看