zoukankan      html  css  js  c++  java
  • Elasticsearch

    Elasticsearch概述

    1.1 Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用JAVA开发的,并作为Apache许可条款下开放源码发布,是当前流行的企业级搜索引擎。

    概括:基于RESTful标准的高扩展的实时数据分析的全文搜索工具

    elasticsearch 是一个接近实时的搜索平台。这意味着从索引一个文档到这个文档可以被搜索的过程,仅有轻微的延迟(正常情况是一秒)

    1.2Elasticsearch的基本概念

    index

    类似于mysql数据库中的database

    Type

    类似于mysql数据库中的table表,es中可以在index中建立type,通过mapping进行映射

    document

    由于es存储的数据是文档型的,一条数据对应一篇文文档即相当于mysql数据库中的一行数据row,一个文档中可以有多个字段也就是数据库一行可以有多列。

    field

    es中一个文档对应的多个列与数据库中每一列对应

    mapping

    可以理解为mysql中对应的schema,es中的mapping增加了动态识别功能

    Elasticsearch基本操作

    倒排索引

    Elasticsearch使用一种称为倒排索引的结构,他适用于

    标准化规则

    支持的数据类型:

    核心数据类型:

    字符型:string,string类型包括:

    text和keyword

    text类型被用来索引长文本,在建立索引前会将这些文本进行分词,转化为词的组合,建立索引,允许es来检索这些词语,text类型不能用来拍讯和聚合。

    keyword类型不需要进行分词,可以用来检索过滤,排序和聚合,keyword类型字段只能用本身进行检索

    索引不可变的原因:

    倒排索引包括:

    文档的列表,文档数量,词条在每个文档中出现的词次数,出现的位置,每个文档的长度,所有文档的平均长度

    索引不变的原因:

    不需要锁,提升了并发性能。可以一直保存在缓存中,节省cpu和io开销

    文档数据路由原理

    1、文档路由到分片上

    一个索引由多个分片构成

    文档查询内部原理

    1、查询请求发送给任意一个节点,该节点就成了coordinating node(协调节点),该节点使用路由算法算出文档所在的primary shard

    2、协调节点把请求转发给primary shard也可以转发给replica shard使用轮询调度算法,把请求平均分配至primary shard和replica shard

    3、处理请求的节点把结果返回给协调节点,协调节点在返回给应用程序

    注:请求的文档还在建立索引的过程中,primary shard上存在,replica shard上不存在,但请求被转发到replica shard上,这时候会提示文档找不到

  • 相关阅读:
    禅道,导出选中的用例
    chrome 历史版本下载地址
    在QT中添加zeromq DLL库
    在QT中添加zeromq DLL库
    在QT中添加zeromq库,zeromq的下载编译
    工控软件dll劫持漏洞分析
    [转载]Impost3r:一款针对Linux的密码提取工具
    0MQ绑定Delphi版-说明
    通过Maven导出war包时报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project Ocr: Error assembling WAR: webxml
    价值投资必须掌握的几个指标zz
  • 原文地址:https://www.cnblogs.com/xuliang666/p/11219119.html
Copyright © 2011-2022 走看看