0

我已经成功地将弹性搜索(Elasticsearch 6.0)与 Magento Enterprise Edition 2.1 集成。根据他们的文档,我尝试使用 magento cli 命令重新索引calalog

bin/magento indexer:reindex catalogsearch_fulltext

但它会抛出一个错误,如

Catalog Search indexer process unknown error:
Content-Type header [] is not supported

我读到,Elasticsearch 6.0 实施了严格的内容类型检查。那么我该如何在 Magento EE 2.1 中解决这个问题?

4

2 回答 2

0

根据 Magento EE文档,它们支持 Elasticsearch 版本 1.4、1.7 和 2.4。默认版本为 1.7。

但我试图整合最新版本的elasticsearch(Elasticsearch 6.0)。我已经安装了elasticsearch 2.4并且现在工作正常。

于 2017-11-24T10:25:51.797 回答
0

模块中的问题 - magento/module-elasticsearch. 在这个模块"composer.json" contain "elasticsearch/elasticsearch": "~2.0"中。而且他不支持 Elasticsearch 6.0。

对于版本 6,要发送的标头中应该有一个附加参数“Content-Type

https://github.com/elastic/elasticsearch-php/blob/master/src/Elasticsearch/Connections/Connection.php,第 159 行,$this->headers

   $request = [
    'http_method' => $method,
    'scheme'      => $this->transportSchema,
    'uri'         => $this->getURI($uri, $params),
    'body'        => $body,
    'headers'     => array_merge([
    'Host'  => [$this->host]
    ], $this->headers)
    ];
于 2017-12-05T16:27:13.607 回答