2016-10-31 5 views
7

मैंने दो माता-पिता/बच्चे से संबंधित दस्तावेज़ों के लिए दो स्प्रिंग-डेटा लोचदार खोज संग्रह बनाए। आप here दोनों के लिए दस्तावेज़ कक्षाएं देख सकते हैं।स्प्रिंग डेटा लोचदार खोज माता-पिता/बाल दस्तावेज़ रिपोजिटरीज/टेस्ट निष्पादन त्रुटि

खजाने इस

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

तरह खजाने तत्व की मदद से XML में instantiated हो रहे हैं आप this GitHub रेपो में इस मुद्दे का एक पूरा उदाहरण मिल सकते हैं। मेरा स्रोत कोड spring-data-elasticsearch repo में मिले परीक्षणों में आधारित है। स्रोत कोड में केवल दो डोमेन वर्ग (अभिभावक, बच्चे), संबंधित भंडार, 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

यदि आप अभी भी उत्तर की तलाश में हैं तो मैंने इसे createIndex = को मूल में @ मूल दस्तावेज़ में गलत सेट करके हल किया है। और इस में सेम

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

यह पहली माता पिता बनाना होगा और संबद्ध बच्चों में मैन्युअल रूप से निर्माण। मैपिंग अपडेट करने से पहले दस्तावेज़ को भी साफ़ करें।

संबंधित मुद्दे