我是Elasticsearch的初学者。在执行类似https://msdn.microsoft.com/en-us/magazine/dn904674.aspx的示例应用程序时,它在
中显示错误public void CreateMarketingIndex()
{
this.client.CreateIndex("marketing", c =>.AddMapping<MarketingDocument>
(m => m.Properties(ps => ps.Attachment
(a => a.Name(o => o.Document)
.TitleField(t => t.Name(x => x.Name).TermVector(TermVectorOption.WithPositionsOffsets))))));
}
'CreateIndexDescriptor'不包含'AddMapping'的定义 没有扩展方法'AddMapping'接受第一个参数 可以找到类型'CreateIndexDescriptor'(你错过了使用 指令或程序集引用?)
我错过了任何参考资料。 我引用了Elasticsearch.net和Nest
答案 0 :(得分:2)
我认为AddMapping可能是旧版本的Nest客户端。我一直在使用Mappings。尝试这样的事情:
this.client.CreateIndex("marketing", c => c
.Mappings(md => md
.Map<MarketingDocument>(m => m.Properties(ps...
答案 1 :(得分:1)
你可以这样做:
var descriptor = new CreateIndexDescriptor(mIndexName)
.Mappings(x => x.Map<Model>(m => m.AutoMap()));
或没有对象类型
var descriptor = new CreateIndexDescriptor(mIndexName)
.Mappings(x => x.Map(model, m => m.AutoMap()));