2016-02-14 46 views
0

Heroku的說我正在elasticsearch 2.2.0版本,但我認爲他們是錯誤的,這是爲什麼?如何找出在heroku上運行的彈性搜索版本?

上本地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是什麼,可以影響它呢?

+0

只需查詢您的羣集並檢查版本:http:// elastic_node:9200輸出將保存羣集的版本。 – Tomer

回答

2

您可以使用build_hash值來計算兩個版本之間的差異。 2016年1月14日發佈的發現日期和2016年1月27日發佈的發佈日期,即13天。根據build_snapshot,找到的那個是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)中重新引入。總之,本地版本包括payloads字段,而您在Found上找到的版本不會,這就解釋了您所看到的行爲。

+0

非常感謝,我們現在知道我們在做什麼。很難相信他們在生產中不使用穩定的分支。 –

+0

很高興幫助。是的,但是必須有一些晦澀的理由,可能會持續整合;) – Val