0
私は、 'document'タイプのインデックスを持っています。これには、名前が 'date'であり、項目の形式が「MMM dd、yyyy hh:mm:ss a」のタイプstringのフィールドがあります。Elasticsearch文字列フィールドを現在の日付に変換します
このフィールドのデータ型を文字列から日付に変換することはできませんが、これは直接できません。 これで、 '日付'と書式の新しいフィールド 'posted'を追加するようにマッピングを変更しました。日付オブジェクトから日付フィールドに変更した後、投稿フィールドに値をコピーする必要があります。私は、次の更新クエリ
POST /my-index/document/_update_by_query
{
"query" : {
"match_all" : {}
},
"script": "ctx._source['posted'] = new Date().parse(\"MMM dd, yyyy hh:mm:ss a\",ctx._source['date'])"
}
しかし、それは私にこのエラーを与え、私は間違って
java.lang.String cannot be cast to java.util.Map
をつもりを試してみましたか?
「スクリプト」の構造に変更する必要があります:「ctx._source [ 『投稿』] = ctx._source [ 『日付』]」それでも私に同じエラーを与え –
スクリプトを修正しました – alr
"スクリプト": "ctx._source ['posted'] = ctx._source.date"はまだ同じエラーを出しました –