初识ES()

一、es是什么

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

es除了全文搜索引擎之外,还可以这样描述:
  1.分布式的实时文件存储,每个字段都被索引并可被搜索

  2.分布式的实时分析搜索引擎

  3.可以扩展到成百上千台服务器,处理PB级结构化或非机构化数据。

二、es的下载和安装

Java for windows

  es对于java JDK的版本有需求,必须是Java1.8及以上

  安装步骤参考:

  https://www.cnblogs.com/Neeo/articles/10368280.html

es for windows

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

  安装参考https://www.cnblogs.com/Neeo/articles/10371306.html

Kibana for windows

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

  安装参考:https://www.cnblogs.com/Neeo/articles/10371213.html

三、es的使用

  1.es的数据组织

  逻辑:索引>类型>文档

  

  2.与关系型数据库做对比

关系型数据库         es     
数据库    索引indeces
       表     type
  记录   documents
  字段   字段fields

  3.文档

  (1)文档的特性:自我包含、层次性、结构灵活、无模式

  (2)类型:在es6.X版本开始,一个索引下面只能有一个类型,类型是文档的容器,并且,类型记录了字段和值的映射关系

  (3)索引:索引是映射类型的容器,elasticseaarch中的索引是一个非常大的文档集合。索引存储了映射类型的字段和其他设置。然后他们被存储到了各个分片上了。

  4.物理:节点、分片

  (1)节点,一个集群至少有一个节点,节点内可以有多个索引。在创建索引时,默认创建5个主分片,每个主分片搭配一个复制分片。

  (2)分片:文档存储在各个分片上,一个分片也是一个Lucene索引

  (3)倒排索引:倒排索引时一个包含不重复词条的文档,我们称该文档为倒排文档。(详情请参考维基百科)

  (4)es的索引和Lucene的索引对比

    es的索引是由多个分片组成,而每个分片则时一个Lucene索引

    一个Lucene索引能存储不超过21亿篇文档,或者不超过2740亿个唯一词条。

四、基本操作

  1.简单操作

PUT test/doc/1
{
  "name":"TOM"
}
PUT test/doc/2
{
  "age":"10"
}
PUT test/doc/3
{
  "hobby":"play"
}

  上面例子中,我们添加了3篇文档,首先检索test是否存在,不存在先创建,存在则添加(或更新)文档。

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

  这个是一些简单的查询语句。

其他的查询

GET test/_mapping   # 查看索引的映射类型
GET test/_settings    # 查看索引的设置信息
GET test    # 查看索引的详情

删除操作

DELETE test/doc/1   # 删除指定文档
DELETE test    # 删除索引

猜你喜欢

转载自www.cnblogs.com/guchenxu/p/10897173.html