ES语法实战

简介

es作为一款搜索引擎,用作快速检索.本文不做es的过多分析,在实际使用中,可能会遇到mysql语句好实现,但是写成es的rest查询就比较困难的情况.因此列举一些常用mysql和es语法的转换,持续更新中.

所使用框架:

bboss-elasticsearch: 一款类似于mybaits,将mysql封装成以xml的方式来进行sql查询.此开源项目是将es的rest语句封装成以xml的方式进行es查询.具有很大的便利性.

github地址arrow-up-right

文档介绍arrow-up-right

进入正题,案例如下(持续更新中):

注:自定义的属性,后面都会带着 _name,可按照实际情况替换.

=查询

mysql

select * from table_name where name = ''名字 limit 1;

es

GET index_name /_search
{
	"size": 1,
	"query":{
		"match_phrase":{
			"pn": #[pn]
		}
	}
}

between,order by,limit查询

mysql

es

min(),max()查询

mysql

es

es返回值如下,分析结果,提取出值:

in,order by,between 查询

mysql

es,用到了bboss的标签操作.

and ( (a=1 and b=2) or (c=3 and d=4) )操作

支持对象数组映射

mysql

es

like查询,并对查询结果去重

mysql

es

对聚合的结果进行分析,得到自己想要的值.

去重查询

mysql

es

去重模糊查询,返回多个字段

mysql

es

Last updated