最近两天一直在学习 ES 的相关内容。
入门级别;
学习途径:主要是官方文档
这篇文章主要关注使用ES做查询
# # 在我的理解看来,查询有不同的分类形式
第一种分类:基本查询和组合查询
第二种分类:打分查询和不打分查询
这个分类只代表我自己的理解。其实不管怎么分类就是查询,就看我们怎么理解,怎么去使用它的特性,去解决问题。
# # 先来将一下 ES 的查询 和 我之前学的SQL查询
之前习惯使用关系型数据库,所以写查询语句都是: select * from tablename where cloumname="..";
而在ES 中叫做 DSL(查询表达式),在我的理解看来,其实没什么变化,查询语句还是查询语句,只不过变了一种写法而已,DSL就是一种JSON 格式罢了。不信来看一下:
这里做一个简单的映射,并不是绝对的说 match 就是 where
# # 再来看一下我前边提到的分类,基本查询
所谓的节本查询,其实就是一些查询条件
match 查询 ,这个相当于是 sql 中的 where 并且加模糊的条件 例如:select * from table where name like"张%"
这个在es 中的例子,就是上边的图片。
range 查询 ,这个相当于是 sql 中的 where 后边跟着一个范围查询 例如 select * from table where age>20 and age
关注
打赏