当前位置: 首页 > 面试题库 >

ElasticSearch NEST客户端未返回结果

梁华清
2023-03-14
问题内容

我正在通过ElasticSearch NEST C#客户端运行一个简单的查询。通过http运行相同的查询时收到结果,但是从客户端返回的文档数量为零。

这就是我填充数据集的方式:

curl -X POST "http://localhost:9200/blog/posts" -d @blog.json

此POST请求返回JSON结果:

http://localhost:9200/_search?q=adipiscing

这是我没有返回任何代码的代码。

public class Connector
{
    private readonly ConnectionSettings _settings;
    private readonly ElasticClient _client;

    public Connector()
    {
        _settings = new ConnectionSettings("localhost", 9200);
        _settings.SetDefaultIndex("blog");
        _client = new ElasticClient(_settings);
    }

    public IEnumerable<BlogEntry> Search(string q)
    {
        var result =
            _client.Search<BlogEntry>(s => s.QueryString(q));

        return result.Documents.ToList();
    }
}

我想念什么?提前致谢 ..


问题答案:

NEST尝试猜测类型和索引名称,在您的情况下,它将使用/ blog / blogentries

blog因为您告诉默认索引是什么,并且blogentries因为它会小写并使您传递给的类型名称复数Search<T>

您可以像这样控制类型和索引:

 .Search<BlogEntry>(s=>s.AllIndices().Query(...));

这将使NEST知道您实际上要搜索所有索引,因此nest会将其转换/_search为根目录,这与您在curl上发出的命令相同。

您最可能想要的是:

 .Search<BlogEntry>(s=>s.Type("posts").Query(...));

以便NEST搜索 /blog/posts/_search



 类似资料:
  • 我与Laravel有一个项目,负责管理endpoint调用,并通过Vue控制前端。 当用户登录时,响应(令牌)保存在本地存储中,然后在app.js我将此令牌自动添加到所有调用中。 登录 应用程序。js 现在,我们将看到问题。 当我们转到第二页时,将自动启动endpoint调用以填充一些输入。此调用理论上具有本地存储令牌。 路由(APIendpoint) 头部控制器 这将返回拒绝访问。令牌在标头中被

  • 我正在尝试从我的 ASP MVC Web 应用程序在 C# 中设置 Office 365 集成,为此我使用的是 Outlook Mail REST API(客户端版本)。我一直在这里使用 API 参考:https://msdn.microsoft.com/office/office365/APi/mail-rest-operations 我可以登录Office 365,并获取令牌,然后读取邮件文件

  • 我的服务器上再次收到错误。 { “错误”: “invalid_client” } 我已经编码到base64并将域列入了白名单,但仍然得到相同的错误。我会感激任何帮助,这让我发疯了,哈哈。

  • 我正在使用mongodb社区版。我在mongodb中创建了一个用户。当使用该用户初始化配置时,该用户存在并且Vertx mongodb客户端成功启动。 var mongoconfig={“连接字符串”:mongodb://127.0.0.1:27017“,“db_name”:“admin”,“username”:“username”,“password”:“password”,“authSourc

  • 问题内容: 我正在使用NodeJS Redis客户端(Node Redis) 并调用SISMEMBER Redis命令。但是,当我调用该命令时,无论该值是否是集合的成员,它总是返回true。 我将其与Node IRC模块结合使用。我不知道为什么Redis调用返回错误的值。我尝试过仅隔离Redis代码(不包含周围的代码),并且工作正常。代码如下,感谢您的帮助。 这行不通 这有效,但是 问题答案: 方

  • 我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码