Sto giocando con ElasticSearch in combinazione con NEST nel mio progetto C#. Il mio caso d'uso include diversi indici con diversi tipi di documenti che interrogherò separatamente finora. Ora voglio implementare una funzione di ricerca globale che interroga tutti gli indici, i tipi di documenti esistenti e segna il risultato correttamente.NEST: Come eseguire una query su più indici e gestire sottoclassi diverse (tipi di documenti)?
Quindi la mia domanda: come posso realizzare utilizzando NEST?
Attualmente sto usando la funzione SetDefaultIndex
ma come posso definire più indici?
Forse per una migliore comprensione, questo è il Voglio interrogazione rendo conto con NEST:
{
"query": {
"indices": {
"indices": [
"INDEX_A",
"INDEX_B"
],
"query": {
"term": {
"FIELD": "VALUE"
}
},
"no_match_query": {
"term": {
"FIELD": "VALUE"
}
}
}
}
}
TIA
Ciao Martijn, grazie per la tua risposta! Il modo di interrogare rispetto a diversi indici l'ho già capito. Il problema principale che sto affrontando è che ho ** diversi tipi di documento con diversa struttura ** memorizzati in indici come Books, Cars, ecc. Intendo il tuo esempio: client. Ricerca MyObject sarebbe nel mio caso qualcosa di più generico perché voglio recuperare libri, automobili, ecc con una query. Ho provato con il tipo generico ma senza successo. –
Neil
L'unico modo con cui ho ottenuto i documenti era usando client.Search (query).Ho anche aggiunto MapTypeIndices alle impostazioni di connessione (...). Potresti fornire un esempio per realizzare qualcosa come 'var results = Client.Search ????????????????> (s => s .Indici (nuovo [] {"Indice-libro", "Indice-auto"}) . Dimensione (200) .MatchAll() ); ' O raccomandi un altro approccio? Apprezza molto il tuo sforzo! – Neil
Aggiornamento: Attualmente sto usando la classe base di Libri, Automobili ecc. ma non è una soluzione pulita. 'client.Search' –
Neil