2017-12-18 6 views
0

私は、ドキュメントを持っている "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": {「インデックス

"タイプ" を追加することによって

+0

あなたはどのように新しいフィールドに置くためにどのようなデータを知ることelasticsearch期待し、マッピングとREINDEXコマンドでお探しですか? 複数のフィールドを作成するか、マッピングに「copy_to」を使用する必要があります。 –

+0

私はすでに複数のフィールドを使用しています。私の "Docs1"インデックス定義では、2つのフィールド "keyword"と "pmatch"を持つ "name"プロパティを持っています。同じ分野をさまざまな方法で分析したいと思います。 – Lucky

+0

ああ、私はフォーマットのために混乱してしまった。いくつかのエラーについてログをチェックしましたか? { "インデックス": "sourceindex" }、 "DEST":{ "インデックス": "destindex"、 "タイプ" "タイプ" を追加することによって –

答えて

0

再インデックスを提案してくださいは

POSTは { "ソース" _reindex

働い「: 『destindex』、 『タイプ』:」DESTTYPE」 }}

関連する問題