我有一个模型UserModel.cs
public class UserModel
{
public string Id{get; set;}
public string Name{get; set;}
public string Age{get;set;}
}
并且我无法通过用户ID搜索该用户。
var clientProvider = new ElasticClientProvider();
var response = await clientProvider.Client.IndexAsync(UserModel, i => i
.Index("user_index")
.Type("user")
.Id(userModel.Id)
);
return response.IsValid;
[当我创建记录时,_id通过弹性搜索自动生成,但它作为元字段存储为_id
,但不存储在_source
下。我无法通过NEST客户端访问元字段的_id
。在此先感谢
您可以在Get
方法的帮助下按ID检索文档。这是一个例子:
await client.IndexManyAsync(new []
{
new Document{Id = "1", Name = "name1"},
new Document{Id = "2"},
new Document{Id = "3"},
new Document{Id = "4"},
new Document{Id = "5"}
});
await client.Indices.RefreshAsync();
var getResponse = await client.GetAsync<Document>("1");
System.Console.WriteLine($"Id: {getResponse.Source.Id} Name: {getResponse.Source.Name}");
打印:
Id: 1 Name: name1
文档类别:
public class Document
{
public string Id { get; set; }
public string Name { get; set; }
}
希望有所帮助。