zoukankan      html  css  js  c++  java
  • ElasticSearch初探

    一、基础概念

    1.集群和节点:elasticsearch也采用分布式存储,它本质上是一个分布式数据库。支持存储PB级别的数据,并可以进行水平扩展。

    2.

    索引:含有相同属性的文档集合 (小写且没有下划线) => database 

    类型:索引可以定义 =>表

    文档:文档是可以北京索引的基本数据单位 =>一行记录

     

     

    3.分片和备份:

    分片:每个索引都有多个分片,每个分片是一个Lucene索引 => 将索引分成多个分片,减轻机器压力,可以水平扩展

    备份:拷贝一份完成了分片的备份。因为是分布式存储,所以就需要在不同节点上进行数据备份。采用类似于交叉存储的策略,以防止一台机器宕机而导致数据丢失。

     

    二、RESTFul API

    1. API基本格式:http://<ip>:<port>/<索引>/<类型>/<文档id>

    常见http动作:get post 

     

    2.创建索引:

    结构化索引:_mapping

    非结构化索引:

     

    四、文档 

    1.创建文档:

     _index 、_type 、_id 唯一确定一个文档

    2.删除文档:

    在es中,文档是不能被更改的。只能被替换。也就是需要删除一个文档,它会标记旧文档为删除,并添加一个新文档。旧版本文档并不会立即删除,但你也不能去访问它。es会在你继续添加更多索引的时候清理被删除的文档。(这个思想和linux 的删除rm命令挺像的,当rm一个文件或目录时,linux也不是立刻删除,而是将那个文件的bitmap索引标记为已删除,之后再逐步清理;这样做也许是为了防止误删)

    3.更新文档:

     

    五、结构化查询

     一条查询语句会计算每个文档与查询语句的相关性,相关性越高,_score越高。

     

    1. 查询过滤语句:

    过滤:term、 terms 、range、 bool(must、must not 、should)

    查询:match_all、match、multi_match

    查询与过滤条件的合并:

     

     六、映射和分析

    1、分析

    es中数据可以分为两大类:确切值和全文文本。

    确切值是确定的,正如它的名字一样。比如一个date或用户ID,也可以包含更多的字符串比 如username或email地址。

    确切值 和 就并不相同。确切值 和 也不相同。 全文文本,从另一个角度来说是文本化的数据(常常以人类的语言书写),比如一篇推文

    (Twitter的文章)或邮件正文。

    为了能查询相关的文档,es会对文本进行分析,再建立一个倒排索引。

    分析(analysis)是这样一个过程:

    首先,标记化一个文本块为适用于倒排索引单独的词(term) 然后标准化这些词为标准形式,提高它们的“可搜索性”或“查全率”

    当我们索引(index)一个文档,全文字段会被分析为单独的词来创建倒排索引。不过,当我们 在全文字段搜索(search)时,我们要让查询字符串经过同样的分析流程处理,以确保这些词在 索引中存在。

    2.映射

    为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本 (Full-text)或精确的字符串值,Elasticsearch需要知道每个字段里面都包含了什么类型。这 些类型和字段的信息存储(包含)在映射(mapping)中。

    索引中每个文档都有一个类型(type)。 每个类型拥有自己的映 射(mapping)或者模式定义(schema definition)。一个映射定义了字段类型,每个字段的数 据类型,以及字段被Elasticsearch处理的方式

  • 相关阅读:
    (Good Bye 2019) Codeforces 1270B Interesting Subarray
    (Good Bye 2019) Codeforces 1270A Card Game
    Codeforces 1283D Christmas Trees(BFS)
    Codeforces 1283C Friends and Gifts
    Codeforces 1283B Candies Division
    1095 Cars on Campus (30)
    1080 Graduate Admission (30)
    1099 Build A Binary Search Tree (30)
    1018 Public Bike Management (30)
    1087 All Roads Lead to Rome (30)
  • 原文地址:https://www.cnblogs.com/shawshawwan/p/8859161.html
Copyright © 2011-2022 走看看