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*" } } }`
相关推荐
Elasticsearch4 小时前
Elastic 被评为 2026 年 Gartner®《企业 AI 搜索魔力象限™》领导者
elasticsearch
ly76897 小时前
Elasticsearch 分片分配与再平衡的底层逻辑:从 allocation decider 到集群扩容抖动
大数据·elasticsearch·搜索引擎·集群扩容·分片分配·磁盘水位线
云风228 小时前
25亿条/小时管道踩坑实录:Hive桶表的4个暗坑,桶裁剪为何静默失效
大数据
FII工业富联科技服务8 小时前
2026年AI技术发展趋势分析:从模型能力突破到工业AI的真实应用
大数据·人工智能·深度学习·机器学习·制造·ai智能体·agentic ai
一隅论数智9 小时前
OWL(Web Ontology Language)介绍与使用举例(二)
大数据·经验分享·笔记·学习·自然语言处理·学习方法·政务
一木 之林9 小时前
DeepSeek Agent 开发(三)
java·大数据·linux
小码哥0689 小时前
Java医院陪诊系统陪护系统陪诊小程序,三端齐全可定制
大数据·小程序·陪诊陪护·陪诊小程序·陪护系统·陪诊系统·陪护小程序
赛博守夜人11 小时前
跨境业务与出海合规之八:面向海外合规监管突击搜查(Dawn Raid)的信息安全应急响应(IR)与合规取证
大数据·数据库
Elasticsearch11 小时前
使用 Lucene 搜索你的 beans —— Facets
elasticsearch
溪语流沙11 小时前
【Web全栈进阶】Alembic数据库迁移:改表结构不再删库
前端·数据库·python·elasticsearch·postgresql