Nest - 搜索路径

问题描述

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

然而,/_search 端点实际上是 /search

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

我曾尝试查看源代码,但无法找到实现此目的的方法

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

提前致谢。

解决方法

/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)
);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...