dönmek ilerleyin. Tüm belgeleri geri vermek istiyorum, böylece verileri soyutlayabilir ve bir csv'ye yazabilirim. Bunu, aşağıdaki kodu kullanarak 10 belge için (varsayılan geri dönüş) kolayca gerçekleştirebildim. Ben tarama & kaydırma uygulamak çalışırkentarama elasticsearch-py ve 3 milyon belgeleri içeren benim ES veritabanına bağlanmak için elasticsearch-py kullanıyorum tüm belgeleri
es=Elasticsearch("glycerin")
query={"query" : {"match_all" : {}}}
response= es.search(index="_all", doc_type="patent", body=query)
for hit in response["hits"]["hits"]:
print hit
Maalesef, bu yüzden ben sorunlarla karşılaştıysanız tüm belgeleri alabilir. Başarısız iki farklı yol denedim. Ben önce scanResp çıktısını Eğer
query={"query" : {"match_all" : {}}}
scanResp= helpers.scan(client= es, query=query, scroll= "10m", index="", doc_type="patent", timeout="10m")
for resp in scanResp:
print "Hiya"
:
Yöntem 1: o zaman kaydırma id verir ve scroll/
sonra
scanResp= es.search(index="_all", doc_type="patent", body=query, search_type="scan", scroll="10m")
scrollId= scanResp['_scroll_id']
response= es.scroll(scroll_id=scrollId, scroll= "10m")
print response
?scroll=10m (Caused by <class 'httplib.BadStatusLine'>: ''))
Yöntem 2 ile biter döngü <generator object scan at 0x108723dc0>
olsun. Bu nedenle ben nedense benim kaydırma berbat ediyorum nispeten eminim, ama nereye veya nasıl düzeltebilirim emin değilim.
Sonuçlar: Yine , scroll/
sonra kaydırma id verir ve daha sonra ?scroll=10m (Caused by <class 'httplib.BadStatusLine'>: ''))
ile sona erer, ama bu bir difference.I olur çok yapmadığını Bunu nasıl düzelteceğinizle ilgili herhangi bir anlayış için çok teşekkür ederiz.
Not: My ES, aynı ağ üzerindeki uzak bir masaüstünde bulunur.
Bu hata geliyordu aslında:
Ben basit bir çözümü var, sen
scroll_id
aşağıdaki gibi kaydırma yöntemini çağırdıktan sonra her seferinde değiştirmeniz gerekir. Bir süre bunu düzeltdiler, ancak basit bir pip install --update elasticsearch problemin resmi cevabıydı. [yapmak Elasticsearch.scroll kaydırma KIMLIĞI POST] (https://github.com/elasticsearch/elasticsearch-py/pull/28) – drowningincodeYani gerçekten nasıl çözdüğünüzü anlamıyorum ... – Dror
Kullandığınızdan emin olun Elasticsearch'in güncel bir versiyonu. Benim sorunum, bu – drowningincode