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*" } } }`
相关推荐
bubble小拾29 分钟前
ElasticSearch高级功能详解与读写性能调优
大数据·elasticsearch·搜索引擎
ZOHO项目管理软件1 小时前
EDM平台大比拼 用户体验与营销效果双重测评
大数据
不能放弃治疗1 小时前
重生之我们在ES顶端相遇第 18 章 - Script 使用(进阶)
elasticsearch
HyperAI超神经2 小时前
Meta 首个多模态大模型一键启动!首个多针刺绣数据集上线,含超 30k 张图片
大数据·人工智能·深度学习·机器学习·语言模型·大模型·数据集
hengzhepa2 小时前
ElasticSearch备考 -- Search across cluster
学习·elasticsearch·搜索引擎·全文检索·es
Hello.Reader4 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
数据龙傲天4 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
Elastic 中国社区官方博客4 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
慕雪华年5 小时前
【WSL】wsl中ubuntu无法通过useradd添加用户
linux·ubuntu·elasticsearch
Jason不在家6 小时前
Flink 本地 idea 调试开启 WebUI
大数据·flink·intellij-idea