假设我有一个类,Foo,看起来像这样:
public class Foo : IFoo
{
public Foo()
{
Bars = new List<dynamic>();
}
public IList<dynamic> Bars { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
接口IFoo看起来像:
public interface IFoo
{
IList<dynamic> Bars { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,当我执行以下操作时:
IFoo foo = new Foo();
dynamic a = new System.Dynamic.ExpandoObject();
a.Prop = 10000;
dynamic b = new System.Dynamic.ExpandoObject();
b.Prop = "Some Text";
foo.Bars.Add(a); // Throws an 'System.Collections.Generic.IList<object>' does not contain a definition for 'Add' - exception!!!!!
foo.Bars.Add(b); // Same here!!!!!
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?????
我正在使用Logstash 1.4.1和ES1.01,并希望根据计算的校验和替换已索引的文档.我目前在Logstash中使用"指纹"过滤器,它根据指定的算法创建"指纹"字段.现在 - 我想要完成的是ES 替换基于相同指纹值的现有文档.
比方说,例如我有一个指纹字段值为"2c9a6802e10fbcff36177e0b88993f90868fa6fa"的文档.现在 - 如果要将具有相同指纹值的文档编入索引,我希望它替换索引中已存在的旧文档.
我试图将以下内容添加到"elasticsearch-template.json"模板文件中,我假设它是由Logstash ES输出插件使用的:
...
"mappings" : {
"_default_" : {
"_id" : {"index": "not_analyzed", "store" : false, "path" : "fingerprint" },
"_all" : {"enabled" : true},
"dynamic_templates" : [ {
...
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我在这做错了什么?
干杯