ElasticSearch基础学习Day-1
ElasticSearch基础
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
基本概念
Elasticsearch是面向文档的数据库。其基本概念与传统关系型数据库的对应关系入下:
关系型数据库 | Elasticsearch |
---|---|
数据库 | 索引(index) |
表 | 类型(type) |
行 | 文档(Docments) |
字段 | 字段(Fields) |
在Elasticsearch中所有数据是使用JSON格式存储的,并且对该数据库进行操作需要使用RESTful web接口,也就是通过GET,POST,DELETE,PUT等方式对文档进行操作。如下插入一个文档到megacorp索引的emloyee类型下。
PUT /megacorp/employee/1
{
"name" : "John",
"sex" : "Male",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
方法 | 使用方式 | 描述 |
---|---|---|
PUT | PUT /index/type/id | 创建文档(指定id) |
POST | POST /index/type | 创建文档(随机id) |
POST | POST /index/type/id/_update | 修改文档 |
DELETE | DELETE /index/type/id | 删除文档 |
GET | GET /index/type/id | 查询文档 |
POST | POST/index/type/_search | 查询全部文档 |
ElasticSearch安装
Elastic 需要 Java 8 环境,并且有JAVA_HOME环境变量。直接从官网下载对应的版本。
你可以从 elastic 的官网 elastic.co/downloads/elasticsearch 获取最新版本的Elasticsearch。解压文档后,按照下面的操作,即可在前台(foregroud)启动 Elasticsearch:
$ cd elasticsearch-7.8.0/
$ ./bin/elasticsearch
此时,Elasticsearch运行在本地的9200端口,在浏览器中输入网址“http://localhost:9200/”,如果看到以下信息就说明你的电脑已成功安装Elasticsearch:
{
"name" : "YTK8L4q",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "hB2CZPlvSJavhJxx85fUqQ",
"version" : {
"number" : "6.5.4",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "7.8.0",
"minimum_index_compatibility_version" : "7.8.0"
},
"tagline" : "You Know, for Search"
}
如果这时报错"max virtual memory areas vm.maxmapcount [65530] is too low",要运行下面的命令。
$ sudo sysctl -w vm.max_map_count=262144