这是我的NEST2.0 POCO声明:
[ElasticsearchType(Name = "MyDocument")]
public class MyDocument: DynamicResponse
{
[String(Store = false, Index = FieldIndexOption.NotAnalyzed)]
public string HistoryId{ get; set; }
[String(Store = false, Index = FieldIndexOption.NotAnalyzed)]
public string FileId { get; set; }
[Date(Store = false)]
public DateTime DateTime { get; set; }
}
这是它的映射:
elastic.Map<MyDocument>(m => m
.Index(indexName)
.AutoMap().AllField(a => a.Enabled(false))
.Dynamic()
.DynamicTemplates(dt => dt
.Add(t => t
.Name("pv_values_template")
.Match("ch_*")
.Mapping(m2 => m2
.Number(n => n
.Store(false)
.Index(NonStringIndexOption.NotAnalyzed)
.DocValues(true))))));
看起来.Add()
方法不再存在(它与NEST 1.0一起正常工作)
答案 0 :(得分:1)
Add
方法已重命名为DynamicTemplate
,签名稍有变化,请查看:
client.Map<Document>(m => m
.Index(indexName)
.AutoMap().AllField(a => a.Enabled(false))
.Dynamic()
.DynamicTemplates(dt => dt
.DynamicTemplate("pv_values_template", t => t
.Match("ch_*")
.Mapping(m2 => m2
.Number(n => n
.Store(false)
.DocValues(true))))));
可能你问新映射中的.Index(NonStringIndexOption.NotAnalyzed)
选项在哪里。 This issue有一个非常好的描述,所以请看一下。
希望它有所帮助。