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