真的是脑残,怎么会设计出 json 结构这种查询方式,简直是反人类,几分钟时间根本写不出一个能用的查询,想摔键盘,什么垃圾玩意。
当然,最新的 es 版本据说支持 sql 语句了,但是公司用的还是 v5 、v6 呀。蛋疼!
1
chendy 2021-02-07 15:49:42 +08:00 3
curl:???
键盘:??? 几分钟写不出来纯属不够熟练,写不出来复制粘贴改啊…… |
2
learningman 2021-02-07 15:50:34 +08:00 1
拉不出屎怪地球🌏
|
3
gtexpanse 2021-02-07 15:54:33 +08:00
试试在 Kibana 里面写,有自动提示
|
4
achenme 2021-02-07 15:54:40 +08:00
json 查询格式巨清晰啊。。
|
5
yupnano OP @learningman 是啊,地球引力太小了,1 个 g 怎么行,起码得 256 g 才够用嘛
|
6
laragh 2021-02-07 15:56:58 +08:00
他可能说的是各种嵌套。。。可以试试 kibana 搜索,粘贴搜索语句就不用自己一点点写了
|
7
zhuangzhuang1988 2021-02-07 15:57:08 +08:00
用 Kibana console 吧, 带有作色和少量的自动补全
官方用 json 也是为了后端好解析. 或者用 client 写, client 一般都会包装成 api 好很多 |
8
jingkaimori 2021-02-07 15:57:18 +08:00
不开补全,不垃圾的语言都得变成垃圾,垃圾的语言瞬间就好用了。
|
9
wolfie 2021-02-07 16:00:02 +08:00
用其他语言的 sdk 拼条件然后 toString 。
|
10
yupnano OP @chendy 当然是复制粘贴改,每次从头撸一个语句还不得折腾死人。
然而复制粘贴基础上改动也是极易出错的,json 用来读还可以,要手写还是算了吧 |
12
misaka19000 2021-02-07 16:09:00 +08:00
JSON 比 lj SQL 好用多了
|
13
wakzz 2021-02-07 16:10:36 +08:00
@misaka19000 +1,真心觉得 ES 的 DSL 语法用起来比 SQL 语法舒服
|
14
sujin190 2021-02-07 16:17:23 +08:00
其实主要是没有一个文档清晰的说清楚各查询指令间啥关系,很多时候简直莫名奇妙,分不清该怎么组合,sql 自身就清晰很多,从 select 到 from 、where 、group 、order,不用看文档看字面意思也能猜个八九不离十,es 这个就简直了
话说楼上各位大神,既然如此有啥好的文档啥的也分享分享呗 @all |
15
tairan2006 2021-02-07 16:20:57 +08:00 via Android
你本地装个 es7,然后用
|
16
tairan2006 2021-02-07 16:21:31 +08:00 via Android
_sql/translate 可以把 sql 转成 json
|
17
javapythongo 2021-02-07 16:26:26 +08:00
@sujin190 官方的文档我觉得写得非常好
|
18
smart9527 2021-02-07 16:28:07 +08:00
受够了 sql 的查询语法
|
19
superrichman 2021-02-07 16:30:51 +08:00 via iPhone
自己看用 kibana,写程序用封装好的库比如 elasticsearch-dsl
之前是自己拼 dsl,过程很痛苦,elasticsearch 的文档写的太烂了,简直堪比阿里的文档🐶 |
20
est 2021-02-07 16:36:53 +08:00
json 模拟语法树拼凑查询语句。。。mongodb 含泪发来贺电。。。。。。
其实 curl 光查询倒还好,那个 aggs 语法才是反人类的。。。特别是嵌套层级多了之后。。查起来蛋痛,解析返回结果更蛋痛。 composite 也是半残废。唉。。 |
21
uselessVisitor 2021-02-07 16:41:34 +08:00
确实恶心。。
|
22
rqrq 2021-02-07 16:42:11 +08:00
难道每次都是手写生成 json ?花点时间封装一个 query class 不就可以解决了
|
23
yupnano OP 我试试 kibnana 吧,之前都是在石墨文档里复制粘贴然后修改的。
这里不得不说石墨文档,简直是一坨屎,代码块编辑各种 bug,一个半成品也能拿出来卖钱。 |
24
yupnano OP |
25
mostkia 2021-02-07 16:52:27 +08:00
对于初始语言为 js 的程序猿,json 其实友好度还可以。我在一些轻量化后台需求中可能会直接使用 sqlite 或者 json 文件来存放一些参数和配置,个人感觉 json 挺好用的,格式很清晰。
|
26
yazinnnn 2021-02-07 16:58:48 +08:00
不用 kibana 确实蛋疼,其实你可以尝试写个把 sql 翻译成 json 的库,或者自定义 sdl 翻译成 json 的库
|
27
qW7bo2FbzbC0 2021-02-07 17:19:07 +08:00
所以,大家还是更喜欢 SQL 的简洁明了
|
28
Morriaty 2021-02-07 17:29:42 +08:00
果然不同的人感官不一样,ES 的文档我觉得是所有开源组件中第二好的文档
|
29
AS4694lAS4808 2021-02-07 17:43:33 +08:00
@tairan2006 +1 转换确实比手写舒服
|
30
SjwNo1 2021-02-07 18:45:59 +08:00
难道没有插件帮助你转换成 DSL 吗?应该有吧,应该不止你有这样的困惑吧
|
32
dryyun 2021-02-07 22:19:24 +08:00
谁的锅?
es ? curl ? json ? |
37
unbright 2021-02-08 14:30:39 +08:00
http://www.ischoolbar.com/EsParser/
试试这个,可以把 sql 转 json |
38
wakzz 2021-02-08 16:13:39 +08:00
@yupnano 简单查询确实 SQL 看上去比 ES 的 DSL 语法精简,但 ES 更多场景是各种复杂的查询和多维度的统计功能,DSL 的 JSON 格式层级分明,同样复杂的逻辑用 SQL 写,真的惨不忍睹
|
39
jingkaimori 2021-02-08 16:21:02 +08:00
@no1xsyzy Lisp?为什么不用 json ?凭什么你圆括号语法树就比花括号语法树高一等?🐶
|
40
no1xsyzy 2021-02-08 18:45:49 +08:00
@jingkaimori 七原语图灵完备!你 JSON 图灵完备吗?🐶
|
41
java8 2021-02-09 14:11:57 +08:00
暴躁老哥, 在线摔键盘
|
42
bfpiaoran 2021-02-09 14:50:52 +08:00
不是已经支持 sql 了么
|
43
bfpiaoran 2021-02-09 14:51:14 +08:00
啊 没看到后面~~~
|
44
tvboxme 2021-02-09 16:46:23 +08:00
JSON 查询方式是有优势的,用 kibana 吧,有补全,好用。
|
45
yupnano OP kibana 自动补全真实太香了,之前没人指点不知道
|