大家平常用 ES 查询 用的习惯官方提供的查询 api 吗,比如 filter 、should 之类的嵌套多层 个人虽然能够实现查询需求,但总觉得用起来没有 sql 方便
1
chendy 2022-10-12 17:05:49 +08:00
挺人类的,拼查询更好拼,聚合 pipeline 也挺好用的
sql 优势是表达能力强,但是不好拼,复杂起来容易出人命…… |
2
yingqiuQAQ OP @chendy 确实复杂的 sql 也确实爆炸
|
3
CaptainD 2022-10-12 17:38:58 +08:00
我感觉 es 查询比 MySQL 这类关系型的好写多了
|
4
zhuangzhuang1988 2022-10-12 18:16:56 +08:00
这种对程序友好
|
5
changdy 2022-10-12 18:26:16 +08:00
2333 已经习惯了 sql
昨天让同事帮忙写一个 select type ,count(*) from table group by type ..都没人记得了.. |
6
libook 2022-10-12 18:45:19 +08:00
你用关系型数据库的思维去用非关系型数据库,结果肯定是觉得难用。
等你看到 ES 可以用 GET 请求传 Body ,估计又会刷新你的认知。 |
7
maocat 2022-10-12 18:53:46 +08:00 via iPhone 1
前几天把 should 的位置写错了,死活不出我想要的结果,嗨呀
|
8
BJL 2022-10-12 19:45:01 +08:00
嵌套不想写可以直接写 query_string
|
9
BJL 2022-10-12 19:45:37 +08:00
(A: AND B:b AND (C:c OR D:d)) OR -E:e
|
10
yingqiuQAQ OP @BJL 一般用 query_string 或者 match_phrase
|
11
ospider 2022-10-12 20:29:24 +08:00
es 的查询语言就是一个 parse 好的抽象语法树,看你怎么理解了
|
12
yingqiuQAQ OP @maocat 是昨天的我了
|
13
zzl22100048 2022-10-12 22:46:32 +08:00 via iPhone
@maocat 用 mininum_should_match 参数控制
|
14
zzzzzzzzzy 2022-10-13 08:50:33 +08:00
kibana 可以直接把 SQL 转换成 queryDSL
|
15
cco 2022-10-13 09:34:01 +08:00
有钱的话 ES 也可以用 sql
|
16
catinsides 2022-10-13 15:25:21 +08:00
从 mongo 来的,一开始搞不清操作符,后来熟悉了还好。
|