【发布时间】:2016-11-27 21:07:28
【问题描述】:
我有两个来自 Nest 2.3 的 sn-ps 代码,我无法在最新的 5.0.0-rc3 中合作。
var titleField = Infer.Field<Page>(p => p.Title, 2);
var metaDescriptionField = Infer.Field<Page>(p => p.MetaDescription, 1.5);
var metaKeywordsField = Infer.Field<Page>(p => p.Keywords, 2);
var bodyField = Infer.Field<Page>(p => p.Body);
MultiMatchQuery multiMatchQuery = new MultiMatchQuery()
{
Fields = new [] {
bodyField,
metaKeywordsField,
metaKeywordsField,
titleField
},
Query = search.Term
};
这里的构建错误是“无法将 Nest.Field[] 隐式转换为 Nest.Fields”。我可以做类似的事情
MultiMatchQuery multiMatchQuery = new MultiMatchQuery()
{
Fields = Infer.Fields<Page>(p => p.Title, p => p.MetaDescription, p => p.Keywords, p => p.Body),
Query = search.Term
};
但是我失去了字段权重。
我遇到麻烦的第二场 useagle 是
var searchResponse = client.Search<Page>(s => s
.MatchAll()
.From(from)
.Size(size)
.Fields(f => f.Field(fi => fi.Id).Field(fi => fi.SourceId))
);
此处的构建错误是“Nest.SearchDescriptor”不包含“Fields”的定义,并且找不到接受“Nest.SearchDescriptor”类型的第一个参数的扩展方法“Fields”(您是否缺少 using 指令或程序集参考?
在这种情况下,我没有得到任何可编译的东西。
【问题讨论】:
标签: c# elasticsearch nest