索引

时间:2016-08-05 11:59:13

标签: c# elasticsearch

我每天都在AWS上托管的Elastic服务器上创建索引。弹性索引格式为abcnoteyyyyMMdd。您可以在下面查看Index的映射结果。我正在通过ElasticSearch.Nest创建索引。

索引创建代码:

          DateTime _instance = DateTime.Now;
      if (!(client.IndexExists("eccnote" + _instance.ToString("yyyyMMdd"))).Exists)
            {
                var createIndexResult = client.CreateIndex("eccnote" + _instance.ToString("yyyyMMdd"));
                var mapResult = client.Map<ESNote>(c => c.MapFromAttributes().IgnoreConflicts().Type("esnote").Indices("eccnote" + _instance.ToString("yyyyMMdd")));
            }

但是有一些问题,我不知道它是什么?正在成功创建索引。但有一天我得到“索引”:映射结果中缺少“not_analyzed”。例如,这里是索引日期为20160615的映射结果。这里的结果是正确的格式。

 GET  **indexname20160615**/_mapping?pretty        

  output result:- 
      {
   "indexname" : {
     "mappings" : {
         "type" : {
    "properties" : {
      "@timestamp" : {
        "type" : "date",
        "format" : "dateOptionalTime"
      },
      "account" : {
        "type" : "string",
        "index" : "not_analyzed"
      },

      "type" : {
        "type" : "integer"
      },
      "userid" : {
        "type" : "string",
        "index" : "not_analyzed"
         }
        }
        }
       }
      }
     }

但是当我看到索引的映射结果日期为20160614时,它显示为这样。这里“index”:“not_analyzed”属性缺失。它只发生在随机的一天。我不知道为什么?

获取 indexname20160614 / _ mapping?pretty

 {
indexname20160614" : {
"mappings" : {
  "indextype" : {
    "properties" : {
      "@timestamp" : {
        "type" : "date",
        "format" : "dateOptionalTime"
      },

      "session" : {
        "type" : "string"
      },
      "tn" : {
        "type" : "string"
      },
      "type" : {
        "type" : "long"
      },
      "userid" : {
        "type" : "string"
      }
      }
      }
     }
   }
 }

为什么会这样?因为每天通过C#代码,我们在ElasticServer上创建索引,但有时它的格式正确,有时则不是。

0 个答案:

没有答案