elasticsearch - 如何在elasticsearch中创建ID并从集合中选择最新的n个条目

标签 elasticsearch elasticsearch-5

在golang中,如何使用用户生成的ID,并为每个新条目增加ID?我试过了

  Index(KpiIndex).
      Type(KpiDocType).
      Id(ids).                                                              => Id will take only stings.
      BodyJson(kpis).
      Do(elasticSearchContext)


当数据存储在ES中时,它会随机存储

{ "took" : 5, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 }, "hits" : { "total" : 4, "max_score" : 1.0, "hits" : [ { "_index" : "kpi", "_type" : "kpi", "_id" : "AWIexPLwnbh5r7Xr9nsL", "_score" : 1.0, "_source" : { "date" : "2018-03-13 15:20:45", "kpi" : [ {

          "Static_limit" : 0
        },
        {
          "CpuAverageLoad" : 0,
          ...,
          "NodeType" : "kkk",
          "State" : "online"
        }
      ]
    }
  },
  {
    "_index" : "kpi",
    "_type" : "kpi",
    "_id" : "AWIexYy1_xnN0Y7Qo1HE",
    "_score" : 1.0,
    "_source" : {
      "date" : "2018-03-13 15:21:25",
      "kpi" : [
        {
          "CpuAverageLoad" : 0,
          },
        {
          "CpuAverageLoad" : 0,
          ...,
          "NodeType" : "kkk",
          "State" : "online"
        }
      ]
    }
  },
  {
    "_index" : "kpi",
    "_type" : "kpi",
    "_id" : "AWIexdrLnbh5r7Xr9nsM",
    "_score" : 1.0,
    "_source" : {
      "date" : "2018-03-13 15:21:45",
      "kpi" : [
        {

          "Static_limit" : 0
        },
        {
          "CpuAverageLoad" : 0,
          ...,
          "NodeType" : "kkk",
          "State" : "online"
        }
      ]
    }
  },
  {
    "_index" : "kpi",
    "_type" : "kpi",
    "_id" : "AWIexT52BjtG8JuPSysx",
    "_score" : 1.0,
    "_source" : {
      "date" : "2018-03-13 15:21:05",
      "kpi" : [
        {

          "Static_limit" : 0
        },
        {
          "CpuAverageLoad" : 0,
          ...,
          "NodeType" : "kkk",
          "State" : "online"
        }
      ]
    }
  }
]

} }



当我们观察“数据”字段时,顺序为
"date" : "2018-03-13 15:20:45",
"date" : "2018-03-13 15:21:25",
"date" : "2018-03-13 15:21:45",
"date" : "2018-03-13 15:21:05",

正确的顺序应该在哪里
"date" : "2018-03-13 15:20:45",
"date" : "2018-03-13 15:21:05",
"date" : "2018-03-13 15:21:25",
"date" : "2018-03-13 15:21:45"

最佳答案

您可以在json主体中使用一个属性,该属性的值为GUID。因此,将该属性定义为_id属性。它是定义索引ID的方式。

关于elasticsearch - 如何在elasticsearch中创建ID并从集合中选择最新的n个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49253591/

相关文章:

javascript - ElasticSearch.js 搜索查询返回 0 个匹配项,但生成的 URL 包含正确的匹配项

elasticsearch - 从所有节点中删除节点数据目录后,无法使用 repository-s3 插件从 S3 恢复 Elasticsearch 快照

从传输客户端到高级 REST 客户端的 Elasticsearch 升级路径

elasticsearch - 无法将加入请求发送到主 Elasticsearch 5.4 集群

elasticsearch - Kibana 在 discover with Delay 中显示日志

elasticsearch - Logstash jdbc左外部联接作为子文档

在嵌套文档之一中按值对文档进行排序

apache-spark - elastic4s 与 ssl 配置 Elasticsearch 不工作

json - Elasticsearch查询在 bool 值中使用范围时引发错误

docker - 通过 Docker-Compose 为 ElasticSearch 使用持久主机卷