In einer Anwendung suche ich nach 2 Dokumenten nach Id ("doc1" und "doc2") mit einem Indexalias "my_alias"
var multiGetRequest = new MultiGetRequest
{
Documents = new [] {
new MultiGetOperation<Product>("doc1") {Index = "my_alias" },
new MultiGetOperation<Product>("doc2") {Index = "my_alias" }
}
};
var result = client.MultiGet(multiGetRequest);
if (!response.IsValid){
throw new Exception();
}
var documents = result.Documents;
Alles ist in Ordnung, bis jemand mit dem Alias in Elasticsearch in Konflikt kommt und einen zweiten Index zum Alias hinzufügt. Der neue Index enthält auch Dokumente mit den IDs "doc1" und "doc2".
Die Verwendung von MultiGet führt jetzt zu
Alias [,y_alias] has more than one indices associated
with it [[demo_index, demo_index2]], can"t execute a single index op"
Dies ist eine erwartete - aber wie kann ich den Fehler bei der Verwendung der MultiGet-Operation?
Der obige Code wird immer noch ohne Fehler ausgeführt, aber jetzt kehrt er zurück keine Ergebnisse
Irgendwelche Hinweise werden geschätzt!
Antworten:
2 für die Antwort № 1Dies ist ein Fehler in NEST.
Zurzeit deserialisiert der Client die error
Eigenschaft auf Gegenstände in der docs
Array und berücksichtigt diese nicht zusätzlich bei der Bestimmung, ob die Antwort gültig ist. Ich habe ein Problem damit angesprochen.