gpt4 book ai didi

c# - ElasticSearch和NEST查询问题

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

解决了:
URI不正确。是“h || p://#.#.#.#/:9200”,应该是“h || p://#.#.#.#:9200”。这导致API将端口号更改为80。令人惊讶的是,该API实际上能够使用错误的端口号连接到ElasticSearch实例。

我是NEST和ElasticSearch的新手,并试图在NEST中组合一个简单的MatchAll查询。

当我从Sense执行MatchAll时

POST /movies/movie/_search
{
"query": {
"match_all": {}
}
}

我在电影索引中获得了所有电影对象。

但是当我尝试NEST查询时
var result = client.Search(s => s.Type("movie").MatchAll());

我什么也没回来。尝试将返回类型设置为电影类,但仍然没有结果。
    public class Movie
{
public string title { get; set; }
public string director { get; set; }
public int year { get; set; }
public List<string> genres { get; set; }
}

每个答复还尝试了.AllIndices()和/或.AllTypes()
Searching an elasticsearch index with NEST yields no results

有任何想法吗?

编辑:
这是设置默认索引的连接字符串。
ConnectionSettings connection = new ConnectionSettings(uri).UsePrettyResponses().SetDefaultIndex("movies");

最佳答案

您必须在IsValid上检查result,以查看调用是否成功。
result.ConnectionStatus将保存您所需的所有信息,以确定出了什么问题。

如果您想引发异常,则可以通过调用以下方法启用它:

.SetConnectionStatusHandler(c=> { 
if (!c.Success)
throw new Exception(c.ToString());
})

在您的 ConnectionSettings

ConnectionStatus对象上调用ToString以人类可读的形式打印所有请求和响应详细信息。

关于c# - ElasticSearch和NEST查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21742954/

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