2017-05-21 1 views
0

i Elasticsearch .., wie in dem Dokument in Elasticsearch

zum Beispiel in my_type i eine Eigenschaft haben, unter Verwendung der Eigenschaften von my_type suchen möchten suchen namens 'folder_applications':

"folder_applications": [ 
    *[ 
    "employer_folder_id" => 142 
    "status_id" => 140 
    "folder" => [ 
     "id" => 142 
     "employer_id" => 11 
    ] 
    "created_at" => "2017-04-12" 
    "is_applied" => 1 
    "hire_stage_id" => 144 
    ], 
    **[ 
    "employer_folder_id" => 7922 
    "status_id" => 141 
    "folder" => [ 
    "id" => 7922 
    "employer_id" => 11 
    ] 
    "created_at" => "2017-04-12" 
    "is_applied" => 1 
    "hire_stage_id" => 143 
    ] 
] 

* -> first array 
** -> second array 

hier für i Beispiel möchte in my_type nach Objekten suchen, die status_id => 141;

und wenn ich das suche, meine Suchergebnis zurück Loch Dokument mit allen Status .. aber ich will nur status_id => 141 ... nicht 140 oder andere .. zum Beispiel möchte ich die folder.id = > 7922 & & status_id => 141 .. und Suchergebnis zeige mir einfach das zweite Array meines Beispiels.

es passiert für die anderen sucht auch .. wie kann ich damit umgehen?

Antwort

0

Wenn Ihre folder_applications Eigenschaft nested ist, können Sie Inner Hits verwenden, um nur Objekte innerhalb folder_applications Array zu erhalten.
Update: Beispiel:

{ 
"query":{ 
    "nested":{ 
    "path":"folder_applications", 
    "query":{ 
     "bool":{ 
      "must":[{"match":{ 
        "folder_applications.status_id":141 
       } 
       }, 
       {"nested":{ 
        "path":"folder_applications.folder", 
        "query":{ 
         "match":{ 
          "folder_applications.folder.id":7922 
         } 
        } 
       } 
       } 
      ] 
     } 
    }, 
    "inner_hits":{} 
    } 
} 
} 
+0

dank @TarasKohut, können Sie mir ein Beispiel geben? Ja 'folder_applications' hat geschachtelten Typ ... aber ich weiß nicht, wie ich meine Abfrage schreiben soll .. und weil ich auch bool Anfrage habe .. ich möchte diese zusammen kombinieren .. – maral

Verwandte Themen