V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
cevincheung

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

  •  
  •   cevincheung · May 6, 2015 · 10478 views
    This topic created in 4021 days ago, the information mentioned may be changed or developed.

    像分类形式的,比如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 replies    2015-05-14 20:20:06 +08:00
    ayang23
        1
    ayang23  
       May 6, 2015
    bool search, must. 上dsl就没意义了
    cevincheung
        2
    cevincheung  
    OP
       May 6, 2015
    @ayang23 bool的话又怎么写?多个条件但是都是同一个字段
    ayang23
        4
    ayang23  
       May 7, 2015
    {"bool":{"must":[{"term":{"field":1}},{"term":{"field":2}}]}} 应该是这样写
    BlueWolf
        5
    BlueWolf  
       May 14, 2015
    {
    "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
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 04:51 · PVG 12:51 · LAX 21:51 · JFK 00:51
    ♥ Do have faith in what you're doing.