2016-08-12 9 views
0

Benötigen Sie Hilfe bei bestimmten ES-Abfragen. Ich habe Objekte im Elastic Search-Index. Beispiel für eine von ihnen (Teilnehmer):Elastische Suche. Suche nach Untersammlungswert

{ 
     "_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" 
       } 
      ], 
      .... 

Ich brauche die einzige Einheit (en) von partAttributeList Einheiten zu finden. Zum Beispiel die gesamte Teilnehmer-Entität mit SYSNAME = A, VALUE = V1 bei derselben Entität von partAttributeList.

Wenn ich usul Spiele:

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

Natürlich werde ich mehr Objekte finden, als ich es wirklich brauchen. Beispiel redundanten Objekt, das gefunden werden kann:

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

Sie benötigen 'partAttributeList', um ein' geschachteltes' Feld zu sein. Ich nehme von deinem Post an, dass es nicht ist. –

Antwort