gpt4 book ai didi

c# - NEST for ElasticSearch - 检索数据时出现 JSONSerializationException

转载 作者:行者123 更新时间:2023-12-02 23:04:44 25 4
gpt4 key购买 nike

我正在使用 NEST API (v0.12.0.0) 与 ElasticSearch (v1.0.1) 索引接口(interface),我在检索数据时刚刚开始收到 JsonSerializationException。我不确定这是 NEST 问题还是其他问题,但它只是随机开始发生的,我们没有对我们的实现或基础架构进行任何重大更改。

我正在尝试使用类型化的 Search<>() 检索我的数据的 ID(存储为 Guid),并且当 JSON.NET 处理数据时出现异常。

client.Search<ESEventItem>(s => 
s.Index("dev-events004")
.Fields(f => f.Id).Size(100000)
.Type("event").MatchAll()).Documents.ToList()

JsonSerializationException

在 Sense 中手动运行相同的查询不会产生明显的问题:
POST /dev-events004/event/_search
{
"size": 100000,
"query": {
"match_all": {}
},
"fields": [
"id"
]
}
{
"took": 2088,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 19257,
"max_score": 1,
"hits": [
{
"_index": "dev-events004",
"_type": "event",
"_id": "670a1055-cbe3-480e-b807-a2b500f9dfb3",
"_score": 1,
"fields": {
"id": [
"670a1055-cbe3-480e-b807-a2b500f9dfb3"
]
}
},
/* ... additional results ... */
]
}
}

如果我执行一个原始的、无类型的查询 Fields(new[] { "Id" })它不会抛出异常。同样,如果我返回整个 ESEventItem 对象,而不仅仅是 Id 字段,它也可以毫无异常(exception)地工作。

致 NEST 开发人员:此问题反射(reflect)为 issue on the github project .

最佳答案

这是因为 elasticsearch 1.0 改变了字段的返回方式。即将推出的 NEST 1.0 将支持这一点。

关于c# - NEST for ElasticSearch - 检索数据时出现 JSONSerializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22055063/

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