elasticsearch是什么?

    elasticsearch 是个开源的分布式海量数据的搜索引擎
    底层是基于 lucene 的java搜索引擎类库
    主要是使用倒排索引来实现海量数据的搜索引擎
    es
    kebana
    国内使用的分词器是 ik 分词器
    ik分词器

    • ik_smart:智能切分,粗粒度 经典切分
    • ik_max_word:最细切分,细粒度

    什么是倒排索引?

    倒排索引的流程:
    将将每一个文档的数据利用算法分词,得到一个个词条
    创建表,每行数据包括词条、词条所在文档id、位置等信息
    因为词条唯一性,可以给词条创建索引,例如hash表结构索引

    访问es 使用的是 resfull 风格的访问方式

    mapping是对索引库中文档的约束,常见的mapping属性包括:

    • type:字段数据类型,常见的简单类型有:
      • 字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)
      • 数值:long、integer、short、byte、double、float、
      • 布尔:boolean
      • 日期:date
      • 对象:object
    • index:是否创建索引,默认为true
    • analyzer:使用哪种分词器
    • properties:该字段的子字段