使用 NEST 查询 Elastic 没有 return 任何响应

Querying Elastic using NEST does not return any response

我正在为以下文档 class 建立索引:

public class DoctorDocument
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public int Experience { get; set; }
}

我正在使用以下代码搜索索引。

 var node = new Uri("http://localhost:9200");

        var settings = new ConnectionSettings(
            node,
            defaultIndex: "my-application"
        );

        var client = new ElasticClient(settings);

        var searchResults = client.Search<DoctorDocument>(s => s.From(0)
                                                                .Size(100)
                                                                .Query(q =>
                                                                q.Term(t => t.Name, "Deepak Singhal"))
                                                                );

出于某种原因,searchResults 未返回任何文档,即使索引中有一个名称 "Deepak Singhal"。关于为什么没有返回任何内容的任何指示?

正如@Manolis 在评论中指出的那样,Term 描述符不适用于空格。字段名称上的 MatchQueryDescriptor 对我来说效果很好。

var searchResults = client.Search<DoctorDocument>(s => s.From(0)
                                                         .Size(100)
                                                         .Query(q =>
                                                              q.Match(mqd => mqd.OnField("name").Query("Deepak Singhal"))
                                                                ));