ES 结构化查询非人类吗

2022-10-12 16:55:23 +08:00
 yingqiuQAQ

大家平常用 ES 查询 用的习惯官方提供的查询 api 吗,比如 filter 、should 之类的嵌套多层 个人虽然能够实现查询需求,但总觉得用起来没有 sql 方便

2542 次点击
所在节点    程序员
16 条回复
chendy
2022-10-12 17:05:49 +08:00
挺人类的,拼查询更好拼,聚合 pipeline 也挺好用的
sql 优势是表达能力强,但是不好拼,复杂起来容易出人命……
yingqiuQAQ
2022-10-12 17:23:53 +08:00
@chendy 确实复杂的 sql 也确实爆炸
CaptainD
2022-10-12 17:38:58 +08:00
我感觉 es 查询比 MySQL 这类关系型的好写多了
zhuangzhuang1988
2022-10-12 18:16:56 +08:00
这种对程序友好
changdy
2022-10-12 18:26:16 +08:00
2333 已经习惯了 sql
昨天让同事帮忙写一个 select type ,count(*) from table group by type ..都没人记得了..
libook
2022-10-12 18:45:19 +08:00
你用关系型数据库的思维去用非关系型数据库,结果肯定是觉得难用。

等你看到 ES 可以用 GET 请求传 Body ,估计又会刷新你的认知。
maocat
2022-10-12 18:53:46 +08:00
前几天把 should 的位置写错了,死活不出我想要的结果,嗨呀
BJL
2022-10-12 19:45:01 +08:00
嵌套不想写可以直接写 query_string
BJL
2022-10-12 19:45:37 +08:00
(A: AND B:b AND (C:c OR D:d)) OR -E:e
yingqiuQAQ
2022-10-12 20:29:01 +08:00
@BJL 一般用 query_string 或者 match_phrase
ospider
2022-10-12 20:29:24 +08:00
es 的查询语言就是一个 parse 好的抽象语法树,看你怎么理解了
yingqiuQAQ
2022-10-12 20:29:48 +08:00
@maocat 是昨天的我了
zzl22100048
2022-10-12 22:46:32 +08:00
@maocat 用 mininum_should_match 参数控制
zzzzzzzzzy
2022-10-13 08:50:33 +08:00
kibana 可以直接把 SQL 转换成 queryDSL
cco
2022-10-13 09:34:01 +08:00
有钱的话 ES 也可以用 sql
catinsides
2022-10-13 15:25:21 +08:00
从 mongo 来的,一开始搞不清操作符,后来熟悉了还好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/886418

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX