初识Elasticsearch
Elasticsearch 是一个分布式,RESTful 风格的搜索和数据分析引擎。它能够提供实时的搜索与数据分析功能,且能够将几乎所有类型的数据存储和搜索,包括结构化和非结构化数据。
在该博文中,我们将介绍 Elasticsearch 的基础知识,并提供相关用途的示例功能和代码。
安装 Elasticsearch
首先,我们需要安装 Elasticsearch。Elasticsearch 提供了多种方式供我们安装,如 Docker、Tarball 和 RPM 包等。具体安装细节可查看官方文档。
安装完成后,我们需要启动 Elasticsearch。在 Terminal 中输入以下命令进行启动:
sudo systemctl start elasticsearch
Elasticsearch 组成
Elasticsearch 的组成主要分为三个部分:集群、节点和索引。
- 集群:由多台节点组成的集合,用于提供分布式搜索和分析功能。
- 节点:一台物理服务器,用于处理数据和执行分片。
- 索引:存储相关性更高的文档集合(类似于关系型数据库中的表)。
Elasticsearch 快速入门
下面我们以快速创建一个 Elasticsearch 的索引并进行搜索为例,在本地机器(localhost)上进行操作。
创建索引
先在终端(Terminal)中执行以下命令:
curl -X PUT "localhost:9200/books"
上述命令表示使用 PUT 动作创建一个名为 “books” 的索引。若创建成功,我们将会收到以下响应:
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "books"
}
添加数据
接下来,我们向上述创建的 “books” 索引中添加一些数据。
curl -X POST "localhost:9200/books/_doc" \
--header "Content-Type: application/json" \
-d '{"title":"Elasticsearch Basics","author":"John Doe","views":10}'
上述命令表示向 “books” 索引中添加一条记录(即文档),该文档包含三个字段:title、author 和 views。
执行搜索
执行如下命令以搜索名为 “Elasticsearch Basics” 的书籍:
curl -X GET "localhost:9200/books/_search?q=title:Elasticsearch Basics"
我们会收到如下响应信息:
{
"took": 1,
"timed_out": false,
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 0.2876821,
"hits": [
{
"_index": "books",
"_type": "_doc",
"_id": "2",
"_score": 0.2876821,
"_source": {
"title": "Elasticsearch Basics",
"author": "John Doe",
"views": 10
}
}
]
}
}
通过执行上述命令,我们成功从 books
索引中搜索到名字为 ”Elasticsearch Basics” 的书籍,并获取到了完整的记录信息。
结语
以上为 Elasticsearch 的快速入门教程,仅供大家了解 Elasticsearch 的基础知识和操作,学习 Elasticsearch 我们还有很长的路要走。
若您想深入学习 Elasticsearch,建议阅读官方文档或者参考 Elasticsearch 的开源项目,如 Elasticsearch-Head 和 Kibana。
希望这篇文章对您有所帮助,感谢阅读。