ES操作语句整理
引言
在本文中将介绍 ElasticSearch操作语句的基础和高级操作,以及这些技术背后的原理和应用以便更好地使用ES进行数据分析和应用开发
索引操作语句
创建新索引及指定索引
创建名为my_sample_index的索引,创建成功返回主要属性:
PUT my_sample_index
指定my_sample_index索引为“day”类型:
PUT my_sample_index/day
索引的修改和删除操作
修改my_sample_index索引中的mapping属性:
PUT my_sample_index/_mapping/day
{
"properties": {
"name": {
"type": "text"
}
}
}
删除名为test_index的索引:
DELETE test_index
文档操作语句
创建文档
创建名为my_sample_index/day的文档:
PUT my_sample_index/day/1
{
"name": "今天"
}
更新文档
更新id为1的文档的内容:
PUT my_sample_index/day/1
{
"name": "今天",
"message": "晴天!"
}
删除文档
删除id为1的文档:
DELETE my_sample_index/day/1
查找文档
查找名为my_sample_index/day索引中所有文档。size表示返回文档数:
GET my_sample_index/day/_search?size=100
按name字段升序排序,并取前10条记录:
GET my_sample_index/day/_search?sort=name:asc&size=10
聚合操作语句
聚合操作的定义和实例
统计my_sample_index/day索引中的文档总数:
GET my_sample_index/day/_count
聚合操作中的排序和筛选
按照name属性升序排序:
GET my_sample_index/day/_search?q=name:*&sort=name:asc
筛选条件为name为“今天”:
GET my_sample_index/day/_search?q=name:今天
聚合操作中的日期范围查询和范围查询
日期范围查询,在name字段中查询日期介于2023-05-01和2023-05-02之间的文档:
GET my_sample_index/day/_search
{
"query": {
"range": {
"name": {
"gte": "2023-05-01",
"lte": "2023-05-02"
}
}
}
}
范围查询,在price字段中查询介于100和200之间的文档:
GET my_sample_index/day/_search
{
"query": {
"range": {
"price": {
"gte": 100,
"lte": 200
}
}
}
}
配置参数
配置参数在ES操作中的作用
配置参数用于修改ES操作的默认行为。例如:
- GET操作,默认返回文档的_source属性,可以使用_source=false来关闭返回_source属性。
- sort操作,默认进行升序排序,可以使用sort=name:desc来进行降序排序。
常用的配置参数举例
禁用查询操作的source属性:
GET my_sample_index/day/1?_source=false
排序:
GET my_sample_index/day/_search?q=name:*&sort=name:asc
PUT、POST和DELETE方法
PUT、POST、DELETE三种方法都可以用于ES操作。其中,PUT方法通常用来更新文档,POST方法则用来进行索引和搜索操作,DELETE用来删除文档和索引。以下是它们的使用示例:
PUT方法
更新id为1的文档:
PUT my_sample_index/day/1
{
"message": "晴天!"
}
POST方法
搜索my_sample_index/day索引中所有名字为“今天”的文档:
POST my_sample_index/day/_search
{
"query":{
"match":{
"name":"今天"
}
}
}
DELETE方法
删除id为1的文档:
DELETE my_sample_index/day/1
ES操作语句的应用案例
搜索引擎
ES可以用作搜索引擎,实现了Google搜索的许多功能。例如,ES可以处理关键词,支持嵌套查询和分组查询等操作
数据分析和可视化
ES可以用于知识图谱和数据可视化的应用。它可以快速获取和处理大量数据,并将其可视化。您可以使用ES来分析Web日志,监控网站访问量和响应时间,或者对销售数据进行分析和预测文章来源:https://www.toymoban.com/news/detail-434276.html
分布式应用开发
ES是一个分布式系统,可以运行在多个节点上。这意味着它可以处理海量数据,提供高可用性和卓越的性能。您可以使用ES来构建分布式应用系统,比如电商网站、社交媒体应用和智能嵌入式设备等文章来源地址https://www.toymoban.com/news/detail-434276.html
到了这里,关于ES操作语句整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!