2016-11-10 14 views
1

私はElasticsearch 2.4を使用して、Elasticsearch 5.0でコードをテストすることにしました。Elasticsearch 5.0でインデックスを作成すると、不正リクエスト例外がスローされます

私はElasticsearch 5.0をインストールして起動し、インデックスを作成してそれを作成するPHP関数を使用しようとしました。

しかし、私はこのエラーを取得する:

Elasticsearch\Common\Exceptions\BadRequest400Exception 
No handler found for uri [/devmaestro_fr_articles] and method [POST] 

そして、この1:

Guzzle\Http\Exception\ClientErrorResponseException 
Client error response 
[status code] 400 
[reason phrase] Bad Request 
[url] http://localhost:9200/devmaestro_fr_articles 

私はElasticsearch 2.4と同じPHP関数を使用する場合は、それが正常に動作します。 この問題についてご意見はありますか? Elasticsearch 2.4とは異なるElasticsearch 5.0へのインデックスを作成する方法はありますか?

私はZend Frameworkに基づいてWebアプリケーションを開発しています。

答えて

3

POSTまたはPUTのいずれかを使用してインデックスを作成することは可能でしたが、the Pull Request #20001以降はPOSTを使用できなくなり、PUTだけが許可されます。

コードでPUTを使用してPOSTを変更するだけで済みます。

+0

ありがとう、私はそれをテストします。 また、マッピングに「文字列」タイプを使用できないことがわかりました。今は「テキスト」タイプを使用する必要があります。私はそれが弾性5.0に更新するのは本当に複雑になると思う。 急いで、私はdev環境でそれを試しています。 –

+0

はい、実際には、「文字列+分析済み」を「テキスト」に、「文字列+ not_analyzed」を「キーワード」に変更する必要があります。しかし、あなたもそれをそうすることができ、ESは喜んでコンバージョンを自ら行います。 – Val

+0

「ESは幸せにコンバージョンを行います」=>良い、私はこれを行う必要はありません。 私の同僚とは、私たちのESの上に本当に関連があるかどうかはわかりません。それについてどう思いますか? –