我想从C#代码配置NEST
当我使用Kibana命令GET /_cat/indices?v
我得到这个结果:
我的测试索引是“客户”
我正在使用Elasticsearch.Net和NEST:.NET客户端[6.x] 弹性“ 6.5.4”, 现在,这就是我在C#上进行配置的方式:
var settings = new ConnectionSettings(new Uri("http://localhost:9200"))
.DefaultIndex("customer");
var client = new ElasticClient(settings);
var newCustomer = new Customer
{
name = "test_name",
OS = "test_os",
script = "test_script"
};
var indexResponse = client.IndexDocument(newCustomer);
我得到一个错误:
Invalid NEST response built from a unsuccessful low level call on POST: /customer/customer
为什么要建立对/ customer / customer的请求? 我的配置有误吗?
错误消息:
无效的NEST响应是由POST上的不成功的低级调用生成的:/ customer / customer 此API调用的审核跟踪: -BadResponse:节点:http://localhost:9200/进行了:00:00:00.2817669 OriginalException:Elasticsearch.Net.ElasticsearchClientException:Удаленныйсервервозвратилошибку:(400)Недопустимыйзапрос.。呼叫:状态代码400来自:POST /客户/客户。 ServerError:类型:invalid_argument_exception原因:“由于最终的映射将拒绝对[customer]的映射更新,而将具有多个类型:[_doc,customer]” ---> System.Net.WebException:Удаленныйсервервозвратилошибку:(400) Недопустимыйзапрос。
答案 0 :(得分:1)
您在ES中已经有一个映射,并且您要索引的文档与此不匹配。
答案 1 :(得分:0)
为什么要建立对/ customer / customer的请求?我的配置有误吗?
将其构建为statuses
(索引)和customer
(类型),因为
ConnectionSettings
如果要为所有POCO设置默认类型名称,则可以使用
customer