2014-01-22 166 views
0

如何过滤对象内部数组中的字段?过滤器Elasticsearch

样品:

{ 
    _index: "consult", 
    _type: "user", 
    _id: "TlgRL71xRyq-0guJTGA9WQ", 
    _score: 1, 
    _source: { 
    token: "1113", 
    userlist: [ 
     { 
     id: "1", 
     nome: "Mark" 
     }, 
     { 
     id: "2", 
     nome: "Joe" 
     } 
    ] 
    } 
} 

回答

0

您可以通过使用一个完全合格的路径(例如,“点号”)访问对象的属性。例如,下面是一个Term过滤器,查找特定的id值:

{ 
    "query": { 
     "filtered": { 
      "filter": { 
       "term": { 
        "userlist.id": 1 
       } 
      } 
     } 
    } 
}