小编Kod*_*odo的帖子

使用'dynamic'和'ExpandoObject'时,'System.Collections.Generic.IList <object>'不包含'Add'的定义

假设我有一个类,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)

我在这做错了什么?????

.net exception dynamic expandoobject

19
推荐指数
1
解决办法
1万
查看次数

如何在从logstash索引到elasticsearch时对文档进行重复数据删除

我正在使用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)

但它不起作用.我在这做错了什么?

干杯

elasticsearch logstash

8
推荐指数
1
解决办法
7311
查看次数