V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
YanY
V2EX  ›  问与答

Elasticsearch 查询嵌套字段,嵌套对象列表中限制只有匹配的才返回结果,怎么写 dsl

  •  
  •   YanY · 64 天前 · 259 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。

    存储的数据是

          {
              "id" : "xxxxx",
              "model" : "aaacc",
              "product" : "xxxxasdf",
              "idc" : "ccaa",
              "backup" : [
                {
                  "id" : 123,
                  "type" : "ssh-11",
                  "part" : "ssh-12",
                },
                {
                  "id" : 456,
                  "type" : "ssh-22",
                  "part" : "ssh-23",
                }
              ]
            }
    

    返回匹配 backup.type:ssh-11 的结果,正常返回会把 backup 列表都带出来。但是希望之返回比例的子项

    希望返回

    	{
              "id" : "xxxxx",
              "model" : "aaacc",
              "product" : "xxxxasdf",
              "idc" : "ccaa",
              "backup" : [
                {
                  "id" : 123,
                  "type" : "ssh-11",
                  "part" : "ssh-12",
                }
              ]
            }
    
    3 条回复    2020-11-25 15:48:49 +08:00
    bxb100
        1
    bxb100   63 天前 via Android
    内存中 filter 掉,或者查询自定义脚本过滤
    YanY
        2
    YanY   63 天前
    @bxb100 这样就不能分页了
    bxb100
        3
    bxb100   63 天前
    @YanY #2 能啊, 这个是在获取结果之后做的事情, 这个是我处理的方式, 兴许别人有更好的方式处理
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1777 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 17:16 · PVG 01:16 · LAX 09:16 · JFK 12:16
    ♥ Do have faith in what you're doing.