質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

Q&A

解決済

1回答

3372閲覧

elasticsearchのtype指定によるエラー

kuniatsu

総合スコア141

Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

0グッド

0クリップ

投稿2018/06/26 10:39

編集2018/06/26 12:18

kibanaのDev ToolsでElasticsearchを操作しています。

PUT /ss_info { "template": "ss_info", "settings" : { "number_of_shards" : 1, "number_of_replicas": 1 }, "mappings" : { "ss" : { "properties" : { "ss_id" : { "type" : "integer" }, "ss_name" : { "type" : "text" }, "location" : { "type" : "geo_point" } } } } }

このqueryを実行しindexを作成したところ。

GET /ss_info/_mapping { "ss_info": { "mappings": { "ss": { "properties": { "location": { "type": "geo_point" }, "ppp": { "type": "text" }, "ss_id": { "type": "integer" }, "ss_name": { "type": "text" } } } } } }

上記のように作られており、知らないpppが含まれていました。

他のindexを確認したところ、

GET /_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open ss_info ZPDvwPTsTN60rbLFWRqfTw 1 1 0 0 460b 230b green open ss_v1 rs_LfUscTQ-r8ACqnDq4xA 1 1 10 0 10.7kb 5.3kb
GET /ss_v1/_mapping { "ss_v1": { "mappings": { "ss": { "properties": { "ppp": { "type": "text" }, "ss_id": { "type": "integer" }, "ss_name": { "type": "text" } } } } } }

このように、すでにssというtypeが作成されていました。
そこで、typeの名前を変えて

PUT /ss_info { "template": "ss_info", "settings" : { "number_of_shards" : 1, "number_of_replicas": 1 }, "mappings" : { "ss2" : { "properties" : { "ss_id" : { "type" : "integer" }, "ss_name" : { "type" : "text" }, "location" : { "type" : "geo_point" } } } } }

というqueryを実行したところ、

{ "error": { "root_cause": [ { "type": "remote_transport_exception", "reason": "[CeiBnok][x.x.x.x:9300][indices:admin/create]" } ], "type": "illegal_argument_exception", "reason": "Rejecting mapping update to [ss_info] as the final mapping would have more than 1 type: [ss, ss2]" }, "status": 400 }

こちらのエラーが発生しました。

こちらのエラーを調べたところ、

https://qiita.com/morin_river/items/a78f7c85030984222e5e これに伴い、ElasticSearch6.0から複数のmapping_typeの指定でドキュメントが投入された時 以下のようなエラー文言でリクエストが弾かれるようになっています。

こちらが見つかったのですが、名前をss2に変えて、別の名前を指定しているのに、このエラーが出る理由がわかりません。
わかる方よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gizennsyax

2018/07/05 11:18

Elasticsearchのバージョンはいくつでしょうか
kuniatsu

2018/07/06 07:30

ただいま6.2.2になります。
guest

回答1

0

ベストアンサー

同じ操作をしたところ、マッピングも正常でした。操作ミスが考えられます。

JSON

1PUT /ss_info 2{ 3 "template": "ss_info", 4 "settings" : { 5 "number_of_shards" : 1, 6 "number_of_replicas": 1 7 }, 8 "mappings" : { 9 "ss" : { 10 "properties" : { 11 "ss_id" : { "type" : "integer" }, 12 "ss_name" : { "type" : "text" }, 13 "location" : { "type" : "geo_point" } 14 } 15 } 16 } 17} 18//return 19{ 20 "acknowledged": true, 21 "shards_acknowledged": true, 22 "index": "ss_info" 23} 24 25GET /ss_info/_mapping 26//return 27{ 28 "ss_info": { 29 "mappings": { 30 "ss": { 31 "properties": { 32 "location": { 33 "type": "geo_point" 34 }, 35 "ss_id": { 36 "type": "integer" 37 }, 38 "ss_name": { 39 "type": "text" 40 } 41 } 42 } 43 } 44 } 45}

なので、インデックスを削除してもう一度追加してみてください。

JSON

1DELETE /ss_info/ 2//削除確認 3GET /ss_info/_mapping 4//return 5{ 6 "error": { 7 "root_cause": [ 8 { 9 "type": "index_not_found_exception", 10 "reason": "no such index", 11 "resource.type": "index_or_alias", 12 "resource.id": "ss_info", 13 "index_uuid": "_na_", 14 "index": "ss_info" 15 } 16 ], 17 "type": "index_not_found_exception", 18 "reason": "no such index", 19 "resource.type": "index_or_alias", 20 "resource.id": "ss_info", 21 "index_uuid": "_na_", 22 "index": "ss_info" 23 }, 24 "status": 404 25} 26

ちなみにss2関連の操作ですが、Elasticsearchでは後からマッピングの更新はできません。
更新する場合は一旦インデックスを削除してください。

(操作はAWS Elasticsearch Serviceを使用しました)

投稿2018/07/07 01:41

gizennsyax

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuniatsu

2018/07/09 12:02

ありがとうございます。インデックスを削除してから作り直すと同じ現象は起きませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問