Ich würde gerne wissen, ob es eine Möglichkeit gibt, für die elastische Suche anzugeben, dass ich keine fehlenden oder fehlerhaften Indizes in meiner Suchanfrage habe. Mit anderen Worten, ich habe eine Abfrage, die versucht, 7 verschiedene Indizes abzufragen, aber einer von ihnen könnte je nach den Umständen fehlen. Was ich wissen will ist, dass, wenn es eine Möglichkeit gibt zu sagen, vergessen Sie die gebrochene und holen Sie sich die Ergebnisse der anderen 6 Indizes?Elastische Suche mit fehlenden Indizes
SearchRequestBuilder builder = elasticsearchClient.getClient().prepareSearch(indices)
.setQuery(Query.buildQueryFrom(term1, term2))
.addAggregation(AggregationBuilders.terms('term')
.field('field')
.shardSize(shardSize)
.size(size)
.minDocCount(minCount));
Als eine Beispielabfrage können Sie das oben genannte finden.
Leider Olly, konnte nicht genau verstehen, was Sie gemeint. Ich könnte einen Alias verwenden, um eine Abfrage auf 7 verschiedenen Indizes zu kombinieren, aber das kann ich schon. Was ich tun möchte, ist die Fähigkeit, einen dieser Indizes zu ignorieren, wenn es fehlschlägt. – ralzaul
Ein Index würde ohne Grund nicht fehlschlagen, Sie müssen etwas getan haben, um es zu brechen (z. B. enthält es alte Daten). In diesem Fall würden Sie den fehlgeschlagenen Index aus dem Alias identifizieren und entfernen. –
nein im Grunde ohne jeden Fehler/Absturz/Fehlverhalten mein Index wird möglicherweise nicht erstellt. Sie sagen mir also, dass ich einen Alias erstellen und den Status der einzelnen Indizes im Alias überprüfen soll, um sie zu entfernen oder nicht? – ralzaul