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

elasticsearch 怎么同时检索单 field 多个值的条件?

  •  
  •   cevincheung · 2015-05-06 23:34:23 +08:00 · 8146 次点击
    这是一个创建于 3489 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像分类形式的,比如json如下:

    [
        {
            "param": "a",
            "field": [
                1,
                2,
                3,
                4,
                5
            ]
        },
        {
            "param": "b",
            "field": [
                1,
                5
            ]
        },
        {
            "param": "c",
            "field": [
                2,
                5
            ]
        },
        {
            "param": "d",
            "field": [
                1,
                3
            ]
        }
    ]
    

    搜索field同时包含有1和2的。或者包含有3或4的。两种检索条件怎么实现?
    求QueryDSL

    5 条回复    2015-05-14 20:20:06 +08:00
    ayang23
        1
    ayang23  
       2015-05-06 23:52:24 +08:00
    bool search, must. 上dsl就没意义了
    cevincheung
        2
    cevincheung  
    OP
       2015-05-06 23:56:25 +08:00
    @ayang23 bool的话又怎么写?多个条件但是都是同一个字段
    ayang23
        4
    ayang23  
       2015-05-07 00:27:39 +08:00
    {"bool":{"must":[{"term":{"field":1}},{"term":{"field":2}}]}} 应该是这样写
    BlueWolf
        5
    BlueWolf  
       2015-05-14 20:20:06 +08:00
    {
    "query_string" : {
    "default_field" : "content",
    "query" : "this AND that OR thus"
    }
    }

    手册: http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2974 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:13 · PVG 22:13 · LAX 06:13 · JFK 09:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.