我如何弄清楚在heroku上运行的found-elasticsearch版本?

时间:2016-02-14 14:13:49

标签: ruby-on-rails heroku elasticsearch

Heroku说我正在运行elasticsearch 2.2.0版,但我认为它们错了,这就是为什么......

在2.2.0本地,我的映射包含定义herepayloads: true选项 - 它们工作得很好。但是,在heroku上我得到空的回复。如果我删除此选项并根据"2.x" docs构建映射,那么它适用于heroku但响应在本地为空。 2.x究竟是什么意思?如何找到在heroku上运行的真实版本?

谢谢。

实测值-ElasticSearch:

{
"name": "instance-x",
"cluster_name": "x",
"version": {
"number": "2.2.0",
"build_hash": "1b182b4497d4bba7602085ebd2e59a8a555ad368",
"build_timestamp": "2016-01-14T13:42:27Z",
"build_snapshot": true,
"lucene_version": "5.4.0"
},
"tagline": "You Know, for Search"
}

本地:

{
"name": "Power Princess",
"cluster_name": "elasticsearch_brew",
"version": {
"number": "2.2.0",
"build_hash": "8ff36d139e16f8720f2947ef62c8167a888992fe",
"build_timestamp": "2016-01-27T13:32:39Z",
"build_snapshot": false,
"lucene_version": "5.4.1"
},
"tagline": "You Know, for Search"
}

我注意到lucene和build_snapshot是不同的。 lucene版本只有与有效负载无关的错误修正。那么什么是build_snapshot,这会影响它吗?

1 个答案:

答案 0 :(得分:2)

您可以使用build_hash值来确定两个版本之间的差异。在Found上部署的一个日期可以追溯到2016年1月14日,也可以在2016年1月27日的Heroku上进行,即13天。根据{{​​1}},找到的是not a release artifact, but a snapshot artifact

因此,让我们使用上面的构建哈希来查看Github上的differences between both artifacts

  • 13天的提交
  • 49提交
  • 191更改文件

在那里我们找到了提交db409c99,其中包含CompletionFieldMapperpayloads field has been added的更改。

通过提交,我们可以发现他们必须revert the new completion suggester changes,因为它打破了其他部分。它将在主要版本(3.0)中重新引入。

因此,总而言之,您拥有的本地版本包含build_snapshot字段,而您在Found上的字段不包括,这解释了您所看到的行为。