2016-08-12 64 views
0

需要有關特定ES查詢的幫助。 我在Elastic Search索引處有對象。他們(參與者)的一個實例:彈性搜索。按子收集值搜索

{ 
     "_id": null, 
     "ObjectID": 6008, 
     "EventID": null, 
     "IndexName": "crmws", 
     "version_id": 66244, 
     "ObjectData":    { 
      "PARTICIPANTTYPE": "2", 
      "STATE": "ACTIVE", 
      "EXTERNALID": "01010111", 
      "CREATORID": 1006, 
      "partAttributeList":    
      [ 
       { 
       "SYSNAME": "A", 
       "VALUE": "V1" 
       }, 
       { 
       "SYSNAME": "B", 
       "VALUE": "V2" 
       }, 
       { 
       "SYSNAME": "C", 
       "VALUE": "V2" 
       } 
      ], 
      .... 

我需要找到partAttributeList實體的唯一實體(S)。例如,在partAttributeList的同一個實體中,具有SYSNAME = A,VALUE = V1的整個Participant實體。

如果我使用美國UL比賽:

{"match": {"ObjectData.partAttributeList.SYSNAME": "A"}}, 
{"match": {"ObjectData.partAttributeList.VALUE": "V1"}} 

當然,我會找到比我真的需要更多的對象。冗餘對象的實例,可以發現:

   ... 
       { 
       "SYSNAME": "A", 
       "VALUE": "X" 
       }, 
       { 
       "SYSNAME": "B", 
       "VALUE": "V1" 
       }.. 
+0

您需要'partAttributeList'作爲'嵌套'字段。我從你的帖子中認爲它不是。 –

回答