Elasticsearch入门

1 ElasticSearch简介

1.1 什么是ElasticSearch

lasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速
度去处理大规模数据。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分
布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发
的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用
于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

1.2 ElasticSearch特点

(1)可以作为一个大型分布式集群(数百台服务器)技术,处理PB级数据,服务大公
司;也可以运行在单机上
(2)将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES;
(3)开箱即用的,部署简单
(4)全文检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理

1.3 ElasticSearch体系结构

下表是Elasticsearch与MySQL数据库逻辑结构概念的对比

Elasticsearch 关系型数据库Mysql
索引(index) 数据库(databases)
类型(type) 表(table)
文档(document)) 行(row)

2 安装ElasticSearch

下载ElasticSearch 5.6.8版本
https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-8
下载压缩包,然后解压,在命令提示符下,进入ElasticSearch解压目录下的bin目录,执行命令

elasticsearch

即可启动。
我们打开浏览器,在地址栏输入http://127.0.0.1:9200/ 即可看到输出结果

image.png

2.2 Postman调用RestAPI

我们可以通过ElasticSearch提供的RestAPI对其进行CRUD(增删改查)等操作。

理解Elasticsearch的RESTful API :
假设现在有如下路径:/books/1/chapter/6
上述路径可以理解为:在图书馆的所有书这张表中,ID为1的书,章节为6。

2.2.2 新建文档

新建文档:
以post方式提交 http://127.0.0.1:9200/articleindex/article
Postman的body的内容:

{
  "title":"Elasticsearch入门",    
  "content":"这是一篇入门文章"    
}

返回结果如下:


image.png

_id是由系统自动生成的。为了方便之后的演示,我们再次录入几条测试数据。

2.2.3 查询全部文档

查询某索引某类型的全部数据,以get方式请求
http://127.0.0.1:9200/articleindex/article/_search 返回结果如下:

image.png

2.2.4 更新文档

以put形式提交以下地址:
http://127.0.0.1:9200/articleindex/article/AWXXCZwvWM8LN08VZchE
body:

{
  "title":"Elasticsearch进阶",    
  "content":"这是一篇Elasticsearch进阶文章"    
}

image.png

注意:如果我们在地址中的ID不存在,则会创建新文档
以put形式提交以下地址:
http://127.0.0.1:9200/articleindex/article/1

{
  "title":"PHP进阶",    
  "content":"这是一篇PHP进阶文章"    
}

返回结果如下:


image.png

2.2.5 按ID查询文档

GET方式请求
http://127.0.0.1:9200/articleindex/article/1

2.2.6 基本匹配查询

根据某列进行查询 get方式提交下列地址:


image.png

2.2.7 模糊查询

我们可以用*代表任意字符:

http://127.0.0.1:9200/articleindex/article/_search?q=title:*入门*

2.2.8 删除文档

根据ID删除文档,删除ID为1的文档 DELETE方式提交

http://127.0.0.1:9200/articleindex/article/1
image.png

你可能感兴趣的:(Elasticsearch入门)