Elastic Search (一)es环境搭建和简单使用

es是什么?

es是基于Apache Lucene的开源分布式(全文)搜索引擎,提供简单的RESTful API来隐藏Lucene的复杂性

es除了全文搜索引擎之外,还可以这样描述它:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到成百上千台服务器,处理P8级结构化或非结构化数据

es的下载与安装

Java for windows /Mac/Linux

es对于java jdk的版本有需求,必须是java 1.8及以上版本

es for windows/Mac

es开箱即用,也就是解压即可使用。

Kibana for windows /Mac

Kibana是一个为ElasticSearch提供的数据分析的Web接口,可使用它对日志进行高效的搜索、可视化、分析等各种操作。

es快速上手

es的数据组织

  • 逻辑:索引>类型>文档
  • 与关系型数据库对比理解
关系型数据库 es
数据库 索引|indices
type
记录 document
字段 字段fields
  • 文档
    • 文档的特性:自我包含、层次型、结构灵活、无模式
    • 类型:在es6.x版本开始,一个索引下面只能有一个类型,类型是文档的容器,并且,类型记录了字段和值的映射关系。
    • 索引,索引是以你割舍类型的容器,elastic search中的索引是一个非常大的文档集合。索引存储了映射类型的字段和其他设置。然后它们被存储到各个分片上。
  • 物理:节点,分片
    • 节点:一个集群至少有一个节点,节点内可以有多个索引。在创建索引时,默认创建1个主分片,每个主分片搭配一个复制分片。
    • 分片:文档存储在各个分片上,一个分片也是一个Lucene索引。
    • 倒排索引:倒排索引是一个包含不重复词条的文档,我们称该文档为倒排文档。
    • es的索引和Lucene的索引对比:
      • es的索引是由多个分片组成,而每个分片则是一个Lucene索引
      • 一个Lucene索引存储不超过21亿片文档,或者不超过240亿个唯一词条。

基本操作

  • 简单操作

    PUT s18/doc/1
    {
      "name":"大刀"
    }
    PUT s18/doc/1
    {
      "name":"鹏程"
    }
    PUT s18/doc/1
    {
      "name":"laowang"
    }

上例中,我们添加了3篇文章,首先检查索引s18是是否存在,不存在先创建,存在则添加(或更新)文档

  GET s18/doc/1    # 查看指定文档
  GET s18/doc/_search # 查看所有文档
  GET s18/doc/_search?q=name:laowang # 按照条件查询

上例是简单地查询语句

猜你喜欢

转载自www.cnblogs.com/shine-rainbow/p/12203486.html