Elasticsearch 关键字与SQL关键字对比总结

  由于Elasticsearch和MongoDB/Redis/Memcache一样,是非关系型数据库。而平常使用的MySql,Oracle,SQLServer 等为关系型数据库,二者有着本质的区别,Es查询语句使用的是DSL语言,关系式数据库使用的是T-SQL,虽然语言不同,但是有时候,一些功能还是有些相似的,为此,整理了一些ES与SQLServer中的功能关键字。

SQL关键字 Elastsearch 关键字 说明 对比示例链接或官方参考链接
DataBase Index 数据库名称  
Table type     表名称  
Row Document 文档  
Column Field 字段  
T-SQL     Query DSL    
  _source 返回指定的列  
SELECT * FROM table GET http://… 从……中查询  
UPDATE table SET PUT http://… 从……中更新  
Where Query 查询范围
ORDER BY Sort 升序ASC、倒序Desc相同  
= term 判断等值,精确值查找,用它处理数字(numbers)、布尔值(Booleans)、日期(dates)以及文本(text)  
In terms 限定一定范围  
Not NULL exists     
IS NULL missing     
  range 限定查询范围,可用于数值或者日期限定  
> gt    
< lt    
>=          gte    
<= lte    
        bool 组合过滤器   https://www.elastic.co/guide/cn/elasticsearch/guide/current/combining-filters.html
 AND must 必须包含  
 NOT must_not 不能包含  
 OR should 至少有一个匹配  
 TOP        size  指定返回多少条,ES默认是10条,搭配From可以实现翻页效果   
  collapse 字段折叠   https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-collapse.html
 Join  inner_hits 嵌套子查询  https://www.elastic.co/guide/en/elasticsearch/reference/5.5/search-request-inner-hits.html
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
原文地址:https://www.cnblogs.com/Rawls/p/10272407.html