我遇到了使用NEST客戶端通過ElasticSearch羣集進行連接的問題。NEST Elasticsearch錯誤:底層連接已關閉
在我的開發機器上,我可以連接並運行彈性查詢(在本地機器上運行),但在我們的臨時環境中,出現錯誤「System.Net.WebException:底層連接已關閉:連接意外關閉了。「
我們的臨時環境由運行Elastic的4臺Linux機器和運行我們客戶端軟件的Windows機器組成。
我已經在connectionsettings上設置了DisableDirectStreaming()。我也嘗試在我的web.config中設置<httpWebRequest useUnsafeHeaderParsing="true" />
,但錯誤仍然存在(但現在ApiCall.OriginalException爲NULL)。
通過Kopf接口發送查詢返回結果,因此該集羣似乎是可操作的。
任何人都有線索在這裏出了什麼問題?
更新: 我跑的查詢(其中indexFilter EN searchFilter根據用戶要求填寫): 此查詢確實對我的本地ES(在Windows/ES 2.1.1)的工作,但不是在我的生產ES(Ubuntu/ES 2.1.1)
QueryContainer indexFilter = new QueryContainer();
QueryContainer searchFilter = new QueryContainer();
var result = db.Client.Search<IndexRecord>
(
search => search
.Query
(
f => f.HasChild<SearchRecord>
(
c => c
.Query
(
f2 => searchFilter
)
) & indexFilter
)
.Sort
(
ss => ss.Ascending(f => f.AccommodationName)
)
.Size(10)
);
您正在運行哪個版本的ES? – Val
你有沒有發生這種請求的例子?它是間歇性的嗎?一般來說,除非你想緩衝請求/響應字節以達到某種目的,例如,你不想設置'.DisableDirectStreaming()'。記錄所有請求 –
我正在運行ES 2.1.1。在Ubuntu 15.10上。 '.DisableDirectStreaming()'被設置,因爲它會解決問題的建議。 –