2012-07-27 26 views
5

ile bir indeks öğesi sayısı alma 200.000 öğeyi ElasticSearch dizinine eklediğimiz bir kod yazıyorum.ElasticSearch

Her ne kadar bu iyi çalışıyor olsa da, indekste her şeyi belirlediğini anlamak için bir dizi öğe aldığımızda, aynı sayıyı alamıyoruz. Ancak, bir iki saniye beklersek sayım doğrudur.

Bu nedenle, sleep veya benzeri olmadan, ElasticSearch'ten gerçek bir sayı alabilmemizin programatik bir yolu var mı?

cevap

7

Yeni dizinlenmiş kayıtlar, yalnızca Refresh işleminden sonra arama sonuçlarında görünür hale gelir. Yenileme, varsayılan olarak 1s olan index.refresh_interval ayarında belirtilen sıklık ile otomatik olarak çağrılır. Elasticsearch testleri yazılırken, tüm dizine eklenmiş kayıtların aramalarda kullanılabilir olduğundan emin olmak için dizinden sonra yenilemeyi çağırmak gelenekseldir. Ancak, üretim kodundaki aşırı yenileme çağrıları (örneğin her kayıttan sonra), elasticsearch endeksleme performansını engelleyebilir.