0

既にインデックスを作成しており、MySQLデータベースのデータが含まれています。string私のテーブルにはいくつかのフィールドがありinteger、.doubleElasticsearch

だから私は次のようにそれを行うことができることを知ってmappingいます:

{
  "mappings": {
    "my_type": {
      "properties": {
        "userid": {
          "type": "text",
          "fielddata": true
        },
        "responsecode": {
          "type": "integer"
        },
        "chargeamount": {
          "type": "double"
        }
      }
    }
  }
} 

しかし、インデックスを新しいものとして作成しているときにこれを試しました。私が知りたかったのは、既存のフィールド (つまりchargeamount、このシナリオでは) を更新mappingする方法PUTです。

これは可能ですか?どんな助けでも大歓迎です。

4

1 に答える 1

3

マッピング タイプが作成されると、更新できる内容が非常に制限されます。公式ドキュメントによると、作成後に既存のマッピングに加えることができる唯一の変更は次のとおりですが、フィールドのタイプの変更はそれらの 1 つではありません。

通常、既存のフィールドのマッピングは更新できません。この規則にはいくつかの例外があります。例えば:

  • Object データ型フィールドに新しいプロパティを追加できます。
  • 新しいマルチフィールドを既存のフィールドに追加できます。
  • doc_values は無効にすることはできますが、有効にすることはできません。
  • ignore_above パラメータは更新できます。
于 2016-11-01T04:41:30.567 に答える