Elasticsearch使用外部版本控制系统截断_version字段

时间:2014-11-25 18:30:19

标签: elasticsearch

我试图在Elasticsearch(版本1.1)中使用动态映射来持久化对象。我已预先创建了索引,并且我使用Post api将对象编入索引,如下所示

PUT /testprecreatedindex/NotCreatedMapping/Id1?version=3155378975111111119&version_type=external
{
   "title": "Test Blog",
   "Id": "Id1"
}

来自Sense的弹性搜索的回应(0.8.10)

{
   "_index": "testprecreatedindex",
   "_type": "NotCreatedMapping",
   "_id": "Id1",
   "_version": 3155378975111111000,
   "created": true
}

我故意将版本作为DateTime.MaxValue.Ticks,因为它小于elasticsearch的{​​{3}}限制。 结果仍然表明版本被截断或完成了。

我在这里做错了什么线索?

1 个答案:

答案 0 :(得分:1)

四舍五入是与SENSE实现相关的工件,更准确地说,方法数由Javascript表示,其精度为53位

版本数据应该已正确存储在elasticsearch中。

您可以通过命令行curl query验证。

curl -XGET 'http://localhost:9200/testprecreatedindex/NotCreatedMapping/Id1'