【发布时间】:2017-05-21 17:22:54
【问题描述】:
我正在尝试在 API 中创建最简单的代理,以在 ElasticSearch 节点上执行搜索。代理存在的唯一原因是从 API 端点“隐藏”凭据和抽象 ES。
使用 Nest.ElasticClient,有没有办法执行原始字符串查询? 在 vanilla ES 中有效的示例查询:
{
"query": {
"fuzzy": { "title": "potato" }
}
}
在我的 API 中,我尝试将原始字符串反序列化为 SearchRequest,但它失败了。我假设它无法反序列化该字段:
var req = m_ElasticClient.Serializer.Deserialize<SearchRequest>(p_RequestBody);
var res = m_ElasticClient.Search<T>(req);
return m_ElasticClient.Serializer.SerializeToString(res);
System.InvalidCastException: Invalid cast from 'System.String' to 'Newtonsoft.Json.Linq.JObject'.
有没有办法将原始字符串查询转发到 ES 并返回字符串响应?我尝试使用 LowLevel.Search 方法没有运气。
【问题讨论】:
标签: elasticsearch .net-core nest elasticsearch-net