我在ElasticSearch中有一个文档。我正在尝试实现一个方法,在该方法中,我可以指定一个字符串id,以便使用NEST客户端从索引中删除一个文档。
这是我要删除的索引单据:
"hits":[{"_index":"movies","_type":"list","_id":"100","_score":0.6349302, "_source" : {
"owner": "Bob",
"tags": "Bobita",
"title": "Movie clips of Bob"
}}
这是我的C#代码,它没有删除文档。它说id是NULL。
Uri localhost = new Uri("http://localhost:9200");
var setting = new ConnectionSettings(localhost);
setting.SetDefaultIndex("movies");
var client = new ElasticClient(setting);
IDeleteResponse resp = client.Delete("100");
if (!resp.Found)
{
logger.Error("Failed to delete index with id=100");
}
"我错过了什么"
3条答案
按热度按时间ykejflvf1#
我认为这里的问题是NEST不能正确地推断文档的Id属性,因为您没有指定类型。
如果可能,请尝试以下操作:
lnlaulya2#
在Elasticsearch 7.0上使用NEST 7.x,以下代码有效:
(其中1是“_id”值)
如果你还没有定义Map,就使用“dynamic”。否则我建议你使用实际的类型。
nqwrtyyt3#