为什么数据没有存储在elasticsearch中?

时间:2019-02-01 14:00:43

标签: c# elasticsearch nest

我在弹性搜索中使用NEST进行请求。将数据保存到elasticsearch时,会发生错误。

请求:PUT:/ strategy / 30772377 {“ id”:1,“ name”:“ strategy1”}

保存时,NEST返回一个错误。

我的代码:

var settings = new ConnectionSettings(new StaticConnectionPool(uri));

var client = new ElasticClient(settings);

var response = await client.IndexAsync(
                    model,
                    x => x.Type(indexType).Index(indexName),
                    cancellationToken).ConfigureAwait(false);

错误:

  

NEST.Response.DebugInformation:

     

从上把一个不成功的低电平呼叫建立无效NEST响应:   / strategy / 30772377

     

此API调用的审核记录:     - [1] BadResponse:节点:http://localhost:9200/注意到:00:00:51.9406716    -[2]取消要求:参加:00:00:00

     

OriginalException:Elasticsearch.Net.ElasticsearchClientException:   请求已中止:请求已取消。。呼叫:状态代码   从未知:PUT /策略/ 30772377 --->

     

System.Net.WebException:请求被中止:请求被   取消。在System.Net.HttpWebRequest.EndGetResponse(IAsyncResult   asyncResult)   System.Threading.Tasks.TaskFactory 1.FromAsyncCoreLogic(IAsyncResult iar, Func 2 endFunction,操作1 endAction, Task 1承诺,布尔值   需要同步)   ---从上一个引发异常的位置开始的堆栈跟踪-   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务   任务)在Elasticsearch.Net.HttpWebRequestConnection。

     

d__5`1.MoveNext()-内部异常堆栈的结尾   跟踪---

     

请求:{“ id”:1,“名称”:“ strategy1”}

     

响应:

1 个答案:

答案 0 :(得分:0)

调试信息中的审核跟踪指示最终使用CancellationToken取消了该请求。在此之前的审计事件表示从Elasticsearch坏的响应;如果请求有问题,response.ServerError将包含来自Elasticsearch的错误。