gpt4 book ai didi

elasticsearch - 带有源过滤的ElasticSearch NEST MultiGet

转载 作者:行者123 更新时间:2023-12-02 22:20:39 30 4
gpt4 key购买 nike

我试图利用多重获取返回带有源过滤的强类型对象的集合,尽管我已经能够使用ElasticSearch的JSON API创建想要的结果,但是我不确定如何将其转换为NEST 1.0 API。

这是我要产生的查询;它正常工作:

GET index/thing/_mget 
{
"docs" : [
{
"_id": "00000000-0000-0000-0000-000000000030",
"_source": ["id", "name"]
},
{
"_id": "00000000-0000-0000-0000-000000000321",
"_source": ["id", "name"]
}
/* .... */
]
}

这就是我一直在玩的东西,但实际上并没有过滤源。相反,它返回完整的对象:
client.MultiGet(s => s
.GetMany<Thing>(ids)
.SourceEnabled("id", "name"))

任何帮助,将不胜感激。同样,如果存在,则最好对基于表达式(类型安全)的 SourceEnabled()调用使用签名。

最佳答案

看起来这是一个错误。我刚刚在GitHub上打开issue #849来解决这个问题。

同时,指定字段的作用类似,可能对您来说是一种解决方法:

var result = client.MultiGet(s => s
.GetMany<Thing>(ids, (d, i) => d.Fields("id", "name"))
);

var fieldSelection = result.GetFieldSelection<Person>(1);
var fields = fieldSelection.FieldValues<string>("name");

关于elasticsearch - 带有源过滤的ElasticSearch NEST MultiGet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125247/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com