2013-02-21 10 views
6

Büyük veri içeren bir elasticsearch kümesi yaptım ve istemci arama isteği gönderebilir. Bazen, küme bir istekle başa çıkmak için çok zaman alır. Sorum şu ki, belirtilen iş parçacığını çok fazla zaman harcayacak bir API var mı?Arama talebi iş parçacığı elasticsearch kümesinde nasıl öldürülür? Bunu yapmak için bazı API var mı?

+0

Ben de bu sorunun cevabını bilmek istiyorum; Kaynakta baktıktan sonra ES'deki sorguları yönetmek/izlemek için herhangi bir yol görünmüyor, bu yüzden burada birileri rahatsız olursa hoş olur. – MatthewJ

+0

Ayrıca googlegroups'a sordum ve bir adam mevcut bir isteği durduramayacak ve uzun süren istekleri önlemek için bir sorguda zaman aşımı ayarlamamı önerdi. – Hoony

cevap

2

Bu cevabı takip etmek istedim, elasticsearch 1.0.0 sürümü çıktı. Devre kesici olarak adlandırılan yığına bazı koruma sağlayan yeni bir işlevsellik olduğunu duyurmaktan mutluluk duyuyorum.

Geçerli uygulamada, devre kesici alan veri önbelleğine ne kadar veri yükleneceğini tahmin etmeye çalışır ve sınırdan büyükse (varsayılan olarak% 80), devre kesiciyi ve orayı açacaktır. Sorgunuzu öldürerek Bunları değiştirmek istiyorsanız ayarlamak için iki parametre vardır

:

indices.fielddata.breaker.limit 

indices.fielddata.breaker.overhead 

havai alan önbelleğine yüklenecek ne kadar veri tahmin etmek için kullanılan sabittir; Bu varsayılan olarak 1.03'tür.

Bu, elasticsearch ve aylarca uygulanmayı beklediğim bir özellik için heyecan verici bir gelişmedir.

Çekme isteği, nasıl yapıldığını görmek isterseniz ilgilenir; Bunu yapmak için dakrone'ye teşekkürler! Bu yardımcı olur

https://github.com/elasticsearch/elasticsearch/pull/4261

Umut, MatthewJ

2

Şu anda Uzun süre çalışan sorguları öldürmek veya durdurmak mümkün değildir, ama Elasticsearch bunu yapmanın bir görev yönetimi api eklemek için gidiyor. API, muhtemelen 2016'da veya daha sonra, Elasticsearch 5.0'da eklenebilir.

Task management 1 ve Task management 2'a bakın.

İlgili konular