ElasticSearch Nest 5.0.1 抛出异常,当从 Droid 项目调用时,从单元测试一切正常



我正在NetStandard项目中使用Nest 5.0.1开发Xamarin Android。

搜索 api 是从可移植项目调用的。

通过单元测试调用任何嵌套搜索 API 时。它工作正常。但是当通过 Droid 项目的相同 api 低于错误时。

var connectionPool = new SingleNodeConnectionPool( new Uri( "http://localhost:9200" ) );
SearchSettings = new ConnectionSettings( connectionPool, new HttpConnection()).DefaultIndex( "test-index" );
SearchClient = new ElasticClient( SearchSettings );

谁能帮忙,缺少什么。我已经确保System.Net.Http同时存在于Portable和Droid项目中。

 # Audit exception in step 1 BadRequest:
    System.NotImplementedException: The method or operation is not implemented.
      at System.Net.Http.HttpClientHandler.set_MaxConnectionsPerServer (System.Int32 value) [0x00000] in /Users/builder/data/lanes/4009/72366f70/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs:427 
      at Elasticsearch.Net.HttpConnection.CreateHttpClientHandler (Elasticsearch.Net.RequestData requestData) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:108 
      at Elasticsearch.Net.HttpConnection+<>c__DisplayClass2_0.<GetClient>b__0 (System.Int32 h) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:47 
      at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) [0x00037] in /Users/builder/data/lanes/4009/72366f70/source/mono/mcs/class/referencesource/mscorlib/system/collections/Concurrent/ConcurrentDictionary.cs:1049 
      at Elasticsearch.Net.HttpConnection.GetClient (Elasticsearch.Net.RequestData requestData) [0x00042] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:45 
      at Elasticsearch.Net.HttpConnection.Request[TReturn] (Elasticsearch.Net.RequestData requestData) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:64 
      at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TReturn] (Elasticsearch.Net.RequestData requestData) [0x00023] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetTransportPipelineRequestPipeline.cs:400 
    # Inner Exception: The method or operation is not implemented.
    System.NotImplementedException: The method or operation is not implemented.
      at System.Net.Http.HttpClientHandler.set_MaxConnectionsPerServer (System.Int32 value) [0x00000] in /Users/builder/data/lanes/4009/72366f70/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs:427 
      at Elasticsearch.Net.HttpConnection.CreateHttpClientHandler (Elasticsearch.Net.RequestData requestData) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:108 
      at Elasticsearch.Net.HttpConnection+<>c__DisplayClass2_0.<GetClient>b__0 (System.Int32 h) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:47 
      at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) [0x00037] in /Users/builder/data/lanes/4009/72366f70/source/mono/mcs/class/referencesource/mscorlib/system/collections/Concurrent/ConcurrentDictionary.cs:1049 
      at Elasticsearch.Net.HttpConnection.GetClient (Elasticsearch.Net.RequestData requestData) [0x00042] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:45 
      at Elasticsearch.Net.HttpConnection.Request[TReturn] (Elasticsearch.Net.RequestData requestData) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:64 
      at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TReturn] (Elasticsearch.Net.RequestData requestData) [0x00023] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetTransportPipelineRequestPipeline.cs:400 
    # Exception:
    Elasticsearch.Net.UnexpectedElasticsearchClientException: The method or operation is not implemented. ---> System.NotImplementedException: The method or operation is not implemented.
      at System.Net.Http.HttpClientHandler.set_MaxConnectionsPerServer (System.Int32 value) [0x00000] in /Users/builder/data/lanes/4009/72366f70/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs:427 
      at Elasticsearch.Net.HttpConnection.CreateHttpClientHandler (Elasticsearch.Net.RequestData requestData) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:108 
      at Elasticsearch.Net.HttpConnection+<>c__DisplayClass2_0.<GetClient>b__0 (System.Int32 h) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:47 
      at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) [0x00037] in /Users/builder/data/lanes/4009/72366f70/source/mono/mcs/class/referencesource/mscorlib/system/collections/Concurrent/ConcurrentDictionary.cs:1049 
      at Elasticsearch.Net.HttpConnection.GetClient (Elasticsearch.Net.RequestData requestData) [0x00042] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:45 
      at Elasticsearch.Net.HttpConnection.Request[TReturn] (Elasticsearch.Net.RequestData requestData) [0x00000] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetConnectionHttpConnection-CoreFx.cs:64 
      at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TReturn] (Elasticsearch.Net.RequestData requestData) [0x00023] in C:Usersrusssourceelasticsearch-net-5.xsrcElasticsearch.NetTransportPipelineRequestPipeline.cs:400 
       --- End of inner exception stack trace ---

这是一个错误,由 ElasticSearch 团队解决。

我必须做的一件事是.连接设置上的连接限制(-1)。

供参考 : https://github.com/elastic/elasticsearch-net/issues/2590

最新更新