当前位置:   article > 正文

elasticsearch 7.x 入门

elasticsearch 7.x

docker-compose 安装 elasticsearch

 docker-es: docker-compose es安装

elasticsearch 原理

Elasticsearch 使用一种称为 倒排索引 的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表。具体内容参见倒排索引 | Elasticsearch: 权威指南 | Elastichttps://www.elastic.co/guide/cn/elasticsearch/guide/current/inverted-index.html

elasticsearch 几个名词

      集群     

     

  •        是一组工作节点的集合;
  •       不同的集群通过不同的集群名称来区别,默认名称“elasticsearch” ; 
  •        在节点启动通过修改配置文件或命令行 -E cluster.name= test 进行设置;

     node(节点)

   

 

 

 

     Primary Shard (主分片)

          主分片用以解决数据水平扩展的问题,通过主分片可以将数据发送到集群内所有的节点之上

       一个分片是一个lucene实例,主分片在索引创建时指定,后续不允许修改除非Reindex

     Replica Shard   (副分片)

      用以解决数据高可用的问题。副分片是主分片的拷贝,副分片数可以动态调整,增加副本可以在一定程度上提高服务的可用性(读取的吞吐)

      分片规则

      

     index(索引)

     在Elasticsearch中存储数据的行为就叫做索引(indexing),类似关系型数据的database

      type

    7.x 版本已经取消默认_doc

     document (文档)

     相当于数据库表的行包括多个字段

elasticsearch 字段类型

7.x常用数据类型:text、keyword、number、array、range、boolean、date、geo_point、ip、nested、object

 text:默认会进行分词,支持模糊查询(5.x之后版本string类型已废弃,请大家使用text)。
 keyword:不进行分词;keyword类型默认开启doc_values来加速聚合排序操作,占用了大量磁盘io 如非必须可以禁用doc_values。
 number:如果只有过滤场景 用不到range查询的话,使用keyword性能更佳,另外数字类型的doc_values比字符串更容易压缩。
 array:es不需要显示定义数组类型,只需要在插入数据时用'[]'表示即可,'[]'中的元素类型需保持一致。
 range:对数据的范围进行索引;目前支持 number range、date range 、ip range。
 boolean: 只接受true、false 也可以是字符串类型的“true”、“false”
 date:支持毫秒、根据指定的format解析对应的日期格式,内部以long类型存储。
 geo_point:存储经纬度数据对。
 ip:将ip数据存储在这种数据类型中,方便后期对ip字段的模糊与范围查询。
 nested:嵌套类型,一种特殊的object类型,存储object数组,可检索内部子项。
 object:嵌套类型,不支持数组。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/612302
推荐阅读
相关标签
  

闽ICP备14008679号