Sto scrivendo alcuni test di integrazione per un'app che utilizza Elasticsearch e sto riscontrando uno strano comportamento. Se inserisco un documento e interrogo subito dopo, ottengo risultati diversi ogni volta. Ho il sospetto che, sebbene l'inserimento stesso ritorni, l'indicizzazione stessa non avvenga in modo sincrono e, a causa di ciò, la query sperimenterà una condizione di competizione con risultati imprevedibili.Elasticsearch comportamento strano per le query subito dopo l'inserimento
Se questo è il caso: c'è un modo per sincronizzarsi, in modo che quando eseguo le mie query, so che sono pronti e di successo ???
Ulteriori dettagli: Sto usando elasticsearch embedded e la query è un semplice filtro. L'unica cosa strana è che sto usando file modello per il modello di documento.
EDIT: Ho anche provato a OTTENERE il documento per ID dopo l'inserimento, ma le query restituiscono ancora risultati casuali (a meno che non inserisca un thread in attesa di attendere qualche secondo).
suppongo che si sta utilizzando l'API Java. questo potrebbe aiutare: http://stackoverflow.com/questions/10766562/async-nature-of-elasticsearch-java-api – phoet
No, è l'api REST, tuttavia ho trovato il motivo – gotch4
Non credo che si possa menzionare ragione, @ gotch4 - Penso che stiamo avendo lo stesso problema. – Bryan