ElasticSearch-(搜索-查找-寻找-搜寻-搜集-(电脑-PC-桌面端-计算机)过滤-筛选-挑选-选取)ES-(后端-)ES [father::元笔记汇总]
梗概
- 一个强大的搜索与分析引擎
- 更快、更全的进行全文检索
- 建立更先进的索引
- 强大的分析功能
适用范围
核心概念
ES(Elasticsearch)核心概念主要包括以下几个方面:
- [child::es_索引] (Index)
- [child::es_文档] (Document)
- [child::es_映射] (Mapping)
- [child::es_分片] (Shard)
- [child::es_节点] (Node)
- [child::es_集群] (Cluster) 这些概念构成了Elasticsearch的基本架构,使其能够进行高效的全文搜索、分析和处理大规模数据。
示例
假设我们在Elasticsearch中创建一个包含博客文章的索引,并存储一些文章文档。以下是一个具体的例子。
1. 创建索引
我们可以通过以下命令在Elasticsearch中创建一个名为blog的索引:
PUT /blog
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"title": {
"type": "text"
},
"author": {
"type": "keyword"
},
"content": {
"type": "text"
},
"publish_date": {
"type": "date"
},
"tags": {
"type": "keyword"
}
}
}
}2. 插入文档
向blog索引中添加一篇文章:
POST /blog/_doc/1
{
"title": "Understanding Elasticsearch Core Concepts",
"author": "John Doe",
"content": "Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases...",
"publish_date": "2023-08-23",
"tags": ["Elasticsearch", "Search", "Tutorial"]
}3. 查询文档
我们可以通过简单的搜索请求来查询文章:
GET /blog/_search
{
"query": {
"match": {
"content": "Elasticsearch"
}
}
}该查询会返回所有在content字段中包含“Elasticsearch”关键字的文章。
4. 更新文档
更新文档的内容(例如添加一个新标签):
POST /blog/_update/1
{
"doc": {
"tags": ["Elasticsearch", "Search", "Tutorial", "Guide"]
}
}5. 删除文档
如果不再需要某篇文章,可以将其删除:
DELETE /blog/_doc/16. 查看索引状态
可以查看索引的状态和健康状况:
GET /blog/_stats通过这些基本操作,我们能够创建、管理和查询Elasticsearch中的数据。这个示例展示了如何使用Elasticsearch进行文档的创建、更新、搜索和删除。
使用指南
- 与数据库插入同步更新es索引
father:: wiki.js
same:: es