DBAtlas · データベース運用アトラス

illegal_argument_exception_fielddata: illegal_argument_exception: Fielddata is disabled on text fields by default. Set fielddata=true on [your_field] in order to load fielddata in memory(text フィールドの fielddata はデフォルトで無効)

Elasticsearch

意味

アナライズされた text フィールドに対して集計、ソート、またはスクリプトを試行した。これらの操作はメモリコストの高い fielddata を必要とするため、text フィールドではデフォルトで無効になっている。

原因

text フィールドに直接集計/ソートを適用した。Elasticsearch では text は全文検索に、keyword は完全一致の集計/ソートに使う。両者を混同するとこのエラーが発生する。

対処方法

集計/ソートにはフィールドの keyword サブフィールドを使う (例: "my_field.keyword")。フィールドが text のみの場合は、マッピングに keyword サブフィールドを追加し (マルチフィールド)、_reindex を実行する。text フィールドで fielddata を有効にする (fielddata=true) ことも可能だが、メモリ消費が大きくサーキットブレーカーのリスクがあるため推奨されない。やむを得ない場合にのみ使う。

DBAtlas で開く →

同じデータベースの他の項目