zoukankan      html  css  js  c++  java
  • ES 搜索概述

    以前面试,面试官总喜欢为这类问题,虽然有时候我们没有接触使用过这个东西,但是如果能掌握一些,还是比较好的

    ES 英文:(elasticsearch) 

    它是一种分布式全文搜索引擎,基于Lucene(全文搜索框架)开发而来

    优势:

    • 分布式实时文件存储,每个字段皆能索引
    • 集群,可扩展(理论上无上限)
    • 高度集成的服务(RESTful风格的API,各语言客户端)
    • 易学易用

    旧的数据查询查询流程
    关系数据库(MYSQL) -> 数据库DB-> 表TABLE-> 行ROW-> 列Column
    Elasticsearch -> 索引库Indices -> 类型Types -> 文档Documents -> 字段Fields

    ES集群可以包含多个索引(数据库),每个索引库中可以包含多个类型的表,每个类型包含多个文档,然后每个文档包含多个字段

    DSL查询与过滤

    由ES提供丰富且灵活的查询语言叫做DSL查询(Query DSL)

    索引过程分为如下几个步骤

    1. 获取内容
    2. 建立文档
    3. 文档分析
    4. 文档索引


    搜索组件主要组成部分

    1. 用户搜索界面
    2. 建立查询
    3. 搜索查询
    4. 展现结果

    ElasticSearch 工作原理
    ElasticSearch(简称ES)是一个基于Lucene构建的开源、分布式、RESTful的全文本搜索引擎

    索引Index - 类似库

    类型Type - 类似表

    文档Document

    映射Mapping

    集群Cluster

      是一个或多个节点的集合

    节点Node

    分片Share 和 副本Replica

    ElasticSearch提供了易用但功能强大的RESTful API以用于与集群进行交互,这些API大体可分为如下四类:

    1.  检查集群、节点、索引等健康与否,以及获取其相关状态与统计信息
    2. 管理集群、节点、索引数据及元数据
    3. 管理集群、节点、索引数据及元数据
    4. 执行高级搜索操作,例如paging、filtering、scripting、faceting、aggregations及其它操作

    执行查询分为2个阶段

    分散阶段 和 合并阶段

    分散阶段是向所查询的索引中的所有shard发起执行查询的过程

    合并阶段是将各shard返回的结果合并、排序并响应给客户端的过程

    向es发起查询的2个方式:
    1、通过RESTful request api 传递查询参数 quert-string

    2、通过发送 RESTful request body,也称作JSON 格式

    一个分析器通过需要三个组件构成
    字符过滤器,分词器,分词过滤器

  • 相关阅读:
    第八天-2019-12-3环境变量-自动挂载-别名
    Raid
    图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100
    第七天-2019-12-2改网卡,dns,挂载
    第六天2019-11-29vi命令使用技巧与架构目录
    linux目录架构
    第五天-2019-11-28基本配置命令
    第四天--2019-11-27网络信息配置
    ue4 Widget to RenderTarget
    UE4 ProcessEvent multiple parameters
  • 原文地址:https://www.cnblogs.com/fangdada/p/14803285.html
Copyright © 2011-2022 走看看