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*" } } }`
相关推荐
陈奕昆1 小时前
n8n实战营Day3:电商订单全流程自动化·需求分析与流程拆解
大数据·开发语言·人工智能·自动化·需求分析·n8n
semantist@语校2 小时前
第五十一篇|构建日本语言学校数据模型:埼玉国际学院的城市结构与行为变量分析
java·大数据·数据库·人工智能·百度·ai·github
赵渝强老师2 小时前
【赵渝强老师】阿里云大数据集成开发平台DataWorks
大数据·阿里云·云计算
xieyan08112 小时前
卖出与止损策略
大数据
yumgpkpm2 小时前
腾讯TBDS和Cloud Data AI CMP 比较的缺陷在哪里?
hive·hadoop·elasticsearch·zookeeper·spark·kafka·hbase
Elastic 中国社区官方博客2 小时前
使用 LangChain 和 Elasticsearch 开发一个 agentic RAG 助手
大数据·人工智能·elasticsearch·搜索引擎·ai·langchain·全文检索
j***12153 小时前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins
z***02603 小时前
Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
大数据·python·信息可视化
知识分享小能手3 小时前
openEuler入门学习教程,从入门到精通,openEuler 24.03 环境下 Hadoop 全面实践指南(19)
大数据·hadoop·openeuler
艾莉丝努力练剑3 小时前
时光织网:基于Rokid AI眼镜的家庭智能协同中枢设计与实现
大数据·人工智能·kotlin·rokid