ElasticSearch常用搜索语句与SQL对比

在当今的大数据时代,搜索引擎成为了我们获取信息的重要工具。而ElasticSearch作为一个强大的开源搜索引擎,提供了丰富的搜索功能。下面,我们将介绍ElasticSearch中的一些常用搜索语句,并通过与SQL的对比来帮助大家更好地理解。

1. 简单查询

SQL 语句:

sql 复制代码
SELECT * FROM table_name WHERE column_name = 'value';

ElasticSearch 语句:

sql 复制代码
{  
  "query": {  
    "term": {  
      "column_name": "value"  
    }  
  }  
}

2. 范围查询

SQL 语句:

sql 复制代码
SELECT * FROM table_name WHERE column_name BETWEEN value1 AND value2;

ElasticSearch 语句:

sql 复制代码
{  
  "query": {  
    "range": {  
      "column_name": {  
        "gte": "value1",  
        "lte": "value2"  
      }  
    }  
  }  
}

3. 模糊查询

SQL 语句:

sql 复制代码
SELECT * FROM table_name WHERE column_name LIKE '%value%';

ElasticSearch 语句:

sql 复制代码
{  
  "query": {  
    "wildcard": {  
      "column_name": "*value*"  
    }  
  }  
}

4. 多条件查询(使用AND、OR连接)

SQL 语句:

sql 复制代码
SELECT * FROM table_name WHERE column1 = 'value1' AND column2 = 'value2';

ElasticSearch 语句:

sql 复制代码
{  
  "query": {  
    "bool": {  
      "must": [  
        { "term": { "column1": "value1" } },  
        { "term": { "column2": "value2" } }  
      ]  
    }  
  }  
}

5. 正则表达式查询(需要使用regexp或wildcard查询)

SQL 语句:(注意:不是所有数据库都支持正则表达式查询)

sql 复制代码
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';

ElasticSearch 语句:(使用regexp查询)

sql 复制代码
{  
  "query": { "regexp": { "column_name": "pattern" } }   
} 参数: `{ "query": { "regexp": { "column_name": "pattern" } } }` `= { "query": { "wildcard": { "column_name": "*pattern*" } } }` `= { "query": { "regexp": { "column_name": "*pattern*" } } }` `= { "query": { "wildcard": { "column_name": "*pattern*" } } }` `= { "query": { "regexp": { "column_name": "*pattern*" } } }`
相关推荐
武子康9 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
Elasticsearch14 小时前
需要知道某个同义词是否实际匹配了你的 Elasticsearch 查询吗?
elasticsearch
SelectDB1 天前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康2 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
IvanCodes2 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康3 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
洛森唛3 天前
ElasticSearch查询语句Query String详解:从入门到精通
后端·elasticsearch
字节跳动数据平台3 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康4 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
洛森唛4 天前
Elasticsearch DSL 查询语法大全:从入门到精通
后端·elasticsearch