私は、ドキュメントを持っている "Docs"という名前の既存のインデックスを持っています。 "Docs1"という名前の新しい索引を "Docs"と同じように作成していますが、これは1つのプロパティーにアナライザーを1つ追加しただけのフィールドで、オートコンプリート目的で使用します。ElasticSearch Reindex APIは新しいフィールドを解析していません
「Docs1」インデックス内の「ドキュメント」インデックス
"name": {
"type": "text",
"analyzer": "text_standard_analyzer",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
プロパティの物件は、私が「Docs1」に「ドキュメント」からレコードをコピーするために再インデックスAPIを使用しています
{
"name": {
"type": "text",
"analyzer": "text_standard_analyzer",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"pmatch": {
"type": "text",
"analyzer": "text_partialmatching_analyzer"
}
}
}
}
になるだろう
POSTの_reindex { "ソース":{ "インデックス": "ドキュメント" }、 「DEST」:{ 「インデックス」:「Docs1」 }}
私はインデックスを再作成する場合、古い文書は、そのフィールド内の情報と新しいフィールドを含むようにするために、私は期待しています。
私の目的地インデックス "Docs1"の新しいフィールドが既存のデータについて分析されていないことに気づいています。しかし、私が追加している新しい文書があれば分析されます。 { "インデックス": "sourceindex"}、 "DEST": {「インデックス
"タイプ" を追加することによって
あなたはどのように新しいフィールドに置くためにどのようなデータを知ることelasticsearch期待し、マッピングとREINDEXコマンドでお探しですか? 複数のフィールドを作成するか、マッピングに「copy_to」を使用する必要があります。 –
私はすでに複数のフィールドを使用しています。私の "Docs1"インデックス定義では、2つのフィールド "keyword"と "pmatch"を持つ "name"プロパティを持っています。同じ分野をさまざまな方法で分析したいと思います。 – Lucky
ああ、私はフォーマットのために混乱してしまった。いくつかのエラーについてログをチェックしましたか? { "インデックス": "sourceindex" }、 "DEST":{ "インデックス": "destindex"、 "タイプ" "タイプ" を追加することによって –