2016-10-31 3 views
7

2つの親/子関連ドキュメントの2つのSpring-Data elasticsearchリポジトリを作成しました。 hereの両方のドキュメントクラスが表示されます。Spring Data Elasticsearch親/子ドキュメントリポジトリ/テスト実行エラー

リポジトリは、あなたがthis GitHubのレポに問題の完全な例を見つけることができます。この

<elasticsearch:repositories base-package="com.acme.repositories" /> 

のようなリポジトリ要素の助けを借りて、XMLでインスタンス得ています。私のソースコードはspring-data-elasticsearch repoにあるテストに基づいています。ソースコードは、2つのドメインクラス(親、子)、関連するリポジトリ、xml構成ファイル、およびunit test classで構成されています。

クローンとmvn testを実行し、java.lang.IllegalArgumentException: can't add a _parent field that points to an already existing type, that isn't already a parent

をスローすることは、この親/子関係がElasticsearch sideに明確である弾性検索例外を生成しますが、私は春を実行するときにこれを防ぐ方法を知らないようですデータテスト。

答えて

0

答えを探しているなら、私は親の@DocumentにcreateIndex = falseを設定することでこれを解決しました。 と豆

  elasticSearchTemplate.createIndex(Parent.class); 
      elasticSearchTemplate.putMapping(parent.class); 
      elasticSearchTemplate.createIndex(Child1.class); 
      elasticSearchTemplate.createIndex(Child2.class); 

これは、最初の親を作成する必要があり、その後、関連する子どもたちに、手動でこれをで作成します。 マッピングを更新する前に、文書をクリアしてください。

関連する問題