【问题标题】:Nest - Search pathNest - 搜索路径
【发布时间】:2021-05-25 12:11:14
【问题描述】:

我正在尝试使用 Nest 客户端来使用 Elasticsearch 实例。

但是,/_search 端点实际上是 /search

是否有任何可能的方法来改变客户端的行为以反映这种变化?

我曾尝试查看源代码,但就是想不出办法。

免责声明:我无法控制 ES 实例,也不知道中间是否有某种代理将 /_search 更改为 /search

提前致谢。

【问题讨论】:

  • 你想使用/search端点来做搜索请求吗?据我所知,只有/_search 一个是有效的。也许我错过了你的问题。
  • 是的,/_search 在我的情况下不存在。但是,/search 可以。

标签: c# elasticsearch nest


【解决方案1】:

/search 不是 Elasticsearch 中的 API 端点。如果不更改生成和重新编译的 API 规范,则无法更改客户端内的 API 端点。

可以使用低级客户端的DoRequestDoRequestAsync 方法来调用 非标准 API

var client = new ElasticClient();
    
var request = new SearchRequest<LogMessage>
{
    Query = new MatchQuery
    {
        Field = Infer.Field<LogMessage>(f => f.Level),
        Query = "warning"
    }
};
    
var response = client.LowLevel.DoRequest<SearchResponse<LogMessage>>(
    Elasticsearch.Net.HttpMethod.POST, 
    "/search", 
    PostData.Serializable<ISearchRequest>(request)
);

【讨论】:

    猜你喜欢
    • 2015-11-15
    • 2012-06-07
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 2012-03-05
    • 2015-04-07
    相关资源
    最近更新 更多