Heroku说我正在运行elasticsearch 2.2.0版,但我认为它们错了,这就是为什么......
在2.2.0本地,我的映射包含定义here的payloads: 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,这会影响它吗?
答案 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:
在那里我们找到了提交db409c99,其中包含CompletionFieldMapper
和payloads
field has been added的更改。
通过提交,我们可以发现他们必须revert the new completion suggester changes,因为它打破了其他部分。它将在主要版本(3.0)中重新引入。
因此,总而言之,您拥有的本地版本包含build_snapshot
字段,而您在Found上的字段不包括,这解释了您所看到的行为。