elasticsearch 弹性搜索嵌套-当我们提到类型名称时,搜索不返回任何记录,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 弹性搜索嵌套-当我们提到类型名称时,搜索不返回任何记录,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 弹性搜索嵌套-当我们提到类型名称时,搜索不返回任何记录

elasticsearch 弹性搜索嵌套-当我们提到类型名称时,搜索不返回任何记录,elasticsearch,nest,elasticsearch,Nest,试用代码:- public class Company { public long Number { get; set; } public string Name{ get; set; } } 我的问题是:如果我在搜索标签中提到类型名称,我将无法得到任何结果 1) 显示结果 var rowsList= client.Search(s => s.MatchAll()).Documents.ToList(); 2) 返回0行 var newr = client.Search

试用代码:-

public class Company
{
    public long Number { get; set; }
    public string Name{ get; set; }
}
我的问题是:如果我在搜索标签中提到类型名称,我将无法得到任何结果

1) 显示结果

var rowsList= client.Search(s => s.MatchAll()).Documents.ToList();
2) 返回0行

var newr = client.Search<Company>(s => s.MatchAll()).Documents.ToList();
var newr=client.Search(s=>s.MatchAll()).Documents.ToList();

键入的搜索默认为

/[推断的索引]/[推断的类型名]/\u搜索

如果你想搜索所有的索引和类型,你就必须明确它

client.Search(s=>s
.AllIndices()
.AllTypes()
.MatchAll()
)
这将在
/\u search

您可以控制嵌套如何推断索引和类型名称,如下所示:

var设置=新连接设置(uri)
.SetDefaultIndex(“我的默认索引”)
.MapDefaultTypeNames(d=>d
.添加(公司类型),“公司类型”)
)
MapDefaultTypeIndex(d=>d
.添加(公司类型),“公司索引”)
)
SetDefaultTypeNameInferrer(s=>s.ToLowerInvariant())
现在,如果搜索
,它将默认为
/company index/company type/\u search

如果您搜索
,它将查询
/my default index/person/\u search