V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SlipStupig
V2EX  ›  程序员

Elasticsearch DSL 太繁琐了如何能更方便的写语句呢?

  •  
  •   SlipStupig · 2018-02-08 11:01:23 +08:00 · 4518 次点击
    这是一个创建于 2491 天前的主题,其中的信息可能已经有所发展或是发生改变。

    初次接触ElasticSearch觉得非常强大,当我要实现

    select count(*) from xxx group by xxx

    这类语句或者更复杂语句的时候,我发现 DSL 写起代码来可费劲了,大家都是如何完成 ES 复杂查询的呢?

    9 条回复    2018-02-09 09:13:09 +08:00
    FAQFAQ
        1
    FAQFAQ  
       2018-02-08 11:15:25 +08:00
    Elasticsearch-sql
    ilovebaicai
        2
    ilovebaicai  
       2018-02-08 11:20:40 +08:00
    如果需要频繁查询某一个数据,可以把语句写死在文件里,然后传不同参数调用。
    hwsdien
        3
    hwsdien  
       2018-02-08 11:21:19 +08:00
    一开始觉得太繁琐,后来写多了也就习惯了..
    lights
        4
    lights  
       2018-02-08 11:22:12 +08:00 via iPhone
    我是写一次忘一次,每次都重新看官方文档(◍•̅ ȷ̫ •̅◍)
    qieqie
        5
    qieqie  
       2018-02-08 11:28:44 +08:00
    https://github.com/NLPchina/elasticsearch-sql
    不过关键字使用上有些限制
    SmiteChow
        6
    SmiteChow  
       2018-02-08 13:58:37 +08:00
    haystack
    xwhxbg
        7
    xwhxbg  
       2018-02-08 14:02:37 +08:00
    这个很容易就实现了,dynamoDB 的语法也反人类,所以我做了一个把 SQL 解析成对应的 dynamoDB 操作的工具
    SlipStupig
        8
    SlipStupig  
    OP
       2018-02-08 14:06:13 +08:00
    @ilovebaicai 如果很条件非常多而且自由组合呢,例如:招聘网站

    @qieqie 似乎只能用 JAVA ?
    yanzixuan
        9
    yanzixuan  
       2018-02-09 09:13:09 +08:00   ❤️ 1
    python 有 elasticsearch-dsl,用库搞完之后一个 to_dict(), 就变成 dsl 了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5920 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:29 · PVG 10:29 · LAX 18:29 · JFK 21:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.