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*" } } }`
相关推荐
更深兼春远2 小时前
flink+clinkhouse安装部署
大数据·clickhouse·flink
专注API从业者5 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
媒体人8887 小时前
GEO 优化专家孟庆涛:技术破壁者重构 AI 时代搜索逻辑
大数据·人工智能
最初的↘那颗心7 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
颜如玉8 小时前
ElasticSearch关键参数备忘
后端·elasticsearch·搜索引擎
君不见,青丝成雪8 小时前
hadoop技术栈(九)Hbase替代方案
大数据·hadoop·hbase
晴天彩虹雨8 小时前
存算分离与云原生:数据平台的新基石
大数据·hadoop·云原生·spark
朗迪锋9 小时前
数字孪生 :提高制造生产力的智能方法
大数据·人工智能·制造
杨荧10 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
健康平安的活着10 小时前
es7.x es的高亮与solr高亮查询的对比&对比说明
大数据·elasticsearch·solr