2016-04-14 28 views
1

我無法通過nest或curl命令根本無法刪除elasticsearch中某個索引中的某個類型的文檔。無法刪除索引中的某個類型的所有文檔

指數:testndx 類型:產物

我嘗試這些:

巢:
esconn.DeleteByQuery( 「testndx」, 「產品」,德爾=>德爾。 Query(q => q.QueryString(qs => qs.Query(「*」))));

捲曲:
捲曲-X DELETE http://192.168.3.2:9200/testndx/product/_query?q= *

捲曲-X DELETE http://192.168.3.2:9200/testndx/product/_query

我使用的.Net 4.6.1,2.1.1鳥巢,ElasticSearch 2.3.0。

非常感謝您的幫助。

+0

爲NEST文件可彈性網站:https://www.elastic.co/guide/en/elasticsearch/client/net -api/2.x/index.html –

回答

1

DeleteByQuery在Elasticsearch 2.0中刪除。

在Elasticsearch 2.x中,您應該執行Scroll請求來獲取所有要刪除的文檔,並使用批量請求實際刪除它們。

巢滾動API:https://nest.azurewebsites.net/nest/search/scroll.html

巢批量刪除:https://nest.azurewebsites.net/nest/core/bulk.html

+1

邁克爾感謝您的回覆。你能提供示例代碼嗎?我無法找到有關elasticsearch的正確文檔,特別是關於nest客戶端。如果可以的話,你可以請建議一些鏈接去學習嗎?謝謝。 – zokkan

+0

我添加了到nest客戶端文檔的鏈接。希望它有幫助。 ;) –

+0

好的。現在我可以刪除文件。現在我需要在一個查詢中獲取所有類型的文檔。我讀到這個搜索命令是針對小型查詢進行優化的,而且人們建議編寫一個高於我認爲應該存在的數字的數字。在我的情況下,我可以想象沒有限制。所以,我還讀了應該用滾動命令詢問大的結果集查詢。我甚至讀過可以通過滾動命令檢索所有文檔,但我沒有找到如何。所以我的下一個問題是,如何才能使用Nest獲取所有類型的文檔?謝謝。 – zokkan

相關問題