2015-06-16 2 views
5

में नेस्टेड दस्तावेज़ों को परिभाषित करने के लिए कैसे मेरे पास एक नेस्टेड दस्तावेज़ वाला दस्तावेज़ है और मैं स्कीमा को सोलर को परिभाषित करना चाहता हूं। मैं प्रलेखन पढ़ रहा हूं लेकिन मुझे नहीं पता कि scheest.xml को नेस्टेड दस्तावेज़ों के साथ कैसे परिभाषित किया जाए।सोलर, schema.xml

जब मैं addBean के साथ किसी दस्तावेज़ को इंडेक्स करने का प्रयास करता हूं तो मुझे एक त्रुटि मिलती है क्योंकि मेरे पास स्कीमा फ़ील्ड obj1 नहीं है और मुझे नहीं पता कि इसे कैसे परिभाषित किया जाए।

मैं जावा ऑब्जेक्ट का उपयोग @Field एनोटेशन के साथ कर रहा हूं।

public class ObjToIndex { 
    @Field 
    String id; 

    @Field 
    String name; 

    @Field 
    ObjToIndex2 obj1; 

public class ObjToIndex2 { 
    @Field 
    String id; 
    @Field 
    String lastName; 

मैं कैसे स्कीमा में टाइप करें "वस्तु" या कुछ इसी तरह के साथ एक क्षेत्र obj1 परिभाषित करने के लिए पता नहीं है।

उत्तर

-1

क्रम में नेस्ट वस्तु, @Field (बच्चे = true)

public class SolrBeanWithNested{ 

@Field 
private String id; 

@Field(child = true) 
private MyNestedOject nested; 

} 

उपलब्ध का उपयोग करें के लिए के बाद से Solr 5.1 देखें टिकट: solr child

+0

क्या आप इसके लिए आवश्यक schema.xml घटक शामिल कर सकते हैं? मुझे लगता है कि प्रश्नकर्ता पूछ रहा है – adam

-1

मेरा मानना ​​है कि यह सही है:

How to write nested schema.xml in solr?

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