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

    官方文档

    官方文档

  • 相关阅读:
    CSS
    javaScript高级:BOM和DOM
    Layui在弹出层实现轮播图效果
    SQL
    jQuery基础
    清除重复值:distinct
    tomcat的server.xml中进行配置来实现访问本地电脑的图片
    jQuery高级
    javascript基础:ECMAScript
    设计模式六大原则【设计模式学习开篇】
  • 原文地址:https://www.cnblogs.com/wangsen/p/11608125.html
Copyright © 2011-2022 走看看