2012-07-27 15 views
5

Sto scrivendo un codice in cui stiamo inserendo 200.000 articoli in un indice ElasticSearch.Ottenere un numero di indici con ElasticSearch

Mentre funziona correttamente, quando si ottiene un conteggio degli articoli nell'indice per accertare che tutto è andato, non si ottiene lo stesso numero. Tuttavia, se aspettiamo un secondo o due, il conteggio è corretto.

Pertanto, esiste un modo programmatico per ottenere un conteggio reale da ElasticSearch senza doverlo aggiungere a sleep o simile?

risposta

7

I record appena indicizzati diventano visibili nei risultati di ricerca solo dopo l'operazione Refresh. L'aggiornamento viene chiamato automaticamente con la frequenza specificata dall'impostazione index.refresh_interval, che è 1 secondo per impostazione predefinita. Quando si scrivono i test elasticsearch, è consuetudine richiamare l'aggiornamento dopo l'indicizzazione per assicurarsi che tutti i record indicizzati siano disponibili nelle ricerche. Tuttavia, chiamate di aggiornamento eccessive (ad esempio, dopo ogni record) nel codice di produzione potrebbero ostacolare le prestazioni dell'indicizzazione di elasticsearch.

Problemi correlati