ElasticSearch

ElasticSearch

———–《ES 实战》———–

原理篇

对比关系型数据库:

(在 Elasticsearch 7.x 版本之后,不再支持多个类型,只能创建一个默认的 _doc 类型)

使用对应关系

我们使用时,一个数据库表 与 一个索引 对应,都是进行一个“对象”进行搜索、查找 等操作;添加含义对应关系会有误导性

例如:我们对book 进行搜索,则应该分别创建 book_table 和 book_index,然后进行数据的 插入 和 搜索。

  • 不同的是:ElasticSearch 的索引index通常是一个聚合,MySQL 的表table是一个 实体

含义对应关系

数据库:library == 索引:book_index + mapping

数据库表 : book == 类型:xx_book 、xxx_book (被取消)

行:一行数据 == 文档:document-1,document-2

img

使用实例

使用步骤:

  • 创建索引,然后创建当前索引的 字段映射mapping
  • 插入数据 – document (其他CRUD)
  • 搜索数据 – search (搜索的DSL 语句)

以下是使用 Elasticsearch 的 DSL(Domain Specific Language)语句进行索引、映射、类型、文档和基本的 CRUD(Create, Read, Update, Delete)操作的示例:

  1. 创建索引:
1
jsoncopy codePUT /myindex
  1. 创建映射:
1
2
3
4
5
6
7
8
9
10
11
jsoncopy codePUT /myindex/_mapping
{
"properties": {
"title": {
"type": "text"
},
"content": {
"type": "text"
}
}
}
  1. 创建类型(在 Elasticsearch 7.x 版本之后,不再支持多个类型,只能创建一个默认的 _doc 类型):
1
2
3
4
5
jsoncopy codePUT /myindex/_doc/1
{
"title": "Elasticsearch Example",
"content": "This is an example of using Elasticsearch."
}
  1. 获取文档:
1
jsoncopy codeGET /myindex/_doc/1
  1. 更新文档:
1
2
3
4
5
6
jsoncopy codePOST /myindex/_doc/1/_update
{
"doc": {
"content": "This is an updated example of using Elasticsearch."
}
}
  1. 删除文档:
1
jsoncopy codeDELETE /myindex/_doc/1
  1. 搜索文档:
1
2
3
4
5
6
7
8
jsoncopy codeGET /myindex/_search
{
"query": {
"match": {
"content": "example"
}
}
}

上述示例中的 DSL 语句可以通过发送 HTTP 请求到 Elasticsearch 的 RESTful API 来执行。您可以使用 curl 命令或者 Elasticsearch 的客户端库来执行这些操作。

请注意,上述示例中的索引名称为 “myindex”,类型名称为 “_doc”,文档 ID 为 “1”。您可以根据您的实际需求和索引结构进行相应的修改。

希望这个示例对您有帮助。如果您有任何其他问题,请随时提问。

———–《ES 学习路线》———–

学习书籍

《Elasticsearch权威指南》:序言 | Elasticsearch: 权威指南 | Elastic

大数据初探之Elastic Stack全面了解 - 知乎 (zhihu.com)

官网:Elastic Stack:Elasticsearch、Kibana、Beats 和 Logstash | Elastic

img

ElasticSearch

Kibana

Logstash

(11条消息) Logstash:Logstash 入门教程 (一)_Elastic 中国社区官方博客的博客-CSDN博客

Beats


ElasticSearch
http://example.com/2023/06/01/分布式组件+常见组件/ElastciStack/
作者
where
发布于
2023年6月1日
许可协议