首页 > 解决方案 > Elasticsearch.NET & NEST - 搜索总是返回 0 个结果

问题描述

我正在尝试使用该ElasticClient.Search方法进行搜索,但无论我设置什么术语或搜索的字段,我总是得到 0 个结果。

这是我的 POCO 的结构:

public class MyParent
{
    public MyChild MyChild { get; set; }
}

public class MyChild
{
    public string MyField { get; set; }
}

然后这是我的实际搜索代码:

string searchTerm = "myChild.myField";
string searchValue = "C";

Field searchField = new Field(searchTerm);

ISearchResponse<MyParent> result =
    Client.Search<MyParent>(s =>
        s.Query(q => q.Term(searchField, searchValue)));

if (result != null && 
    result.Documents != null && 
    result.Documents.Count != 0)
{
    ...
}

任何帮助表示赞赏!

标签: c#elasticsearchnestelasticsearch-net

解决方案


发现了问题。我没有设置索引!我将搜索代码更改为此,它可以工作:

ISearchResponse<MyParent> result =
    Client.Search<MyParent>(s =>
        s.Index("my_index_").Query(q => q.Term(searchField, searchValue)));

推荐阅读