2012-09-30 8 views
23

मैं Solr 4.0 नोटिस शुरू की है 'में शामिल होने' दस्तावेजों संबंध बनाने के लिए सुविधा। इस महान है, तथापि, मैं http://wiki.apache.org/solr/Join द्वारा दिए गए उदाहरण नोटिस सिंगल कोर के लिए कर रहे हैं जो सभी दस्तावेजों का उपयोग करके एकल सूची में नहीं हैंSolr 4.0 उपयोग करने में सक्षम है की एक से अधिक कोर के लिए शामिल हो "?

अगर मैं 'में शामिल होने की एक से अधिक कोर के लिए उपयोग कर सकते हैं किसी को भी पता है

उत्तर

41

This comment कहते हैं यह संभव है:।?

{!join from=fromField to=toField fromIndex=fromCoreName}fromQuery 

मैं इसे अपने आप करने की कोशिश की, और यहाँ एक और भी है विस्तृत उदाहरण: दो कोर

है
  • ब्रांडों {आईडी, नाम}
  • उत्पादों {आईडी, नाम, brand_id}

ब्रांडों: {1, एप्पल} {2, सैमसंग} { 3, एचटीसी}

उत्पाद: {1, आईफ़ोन, 1}, {2, आईपैड, 1}, {3, गैलेक्सी एस 3, 2}, {4, गैलेक्सी नोट, 2}, {5, वन एक्स, 3}

http://example.com:8999/solr/brands/select?q=*:* & fq = नाम {= brand_id से करने के लिए = आईडी fromIndex = उत्पादों में शामिल हों!}: आईपैड

यह कुछ करने के लिए अनुवाद जैसे:

SELECT b.* FROM brands b 
     INNER JOIN products p ON b.id=p.brand_id 
     WHERE p.name="iPad"; 

परिणाम होगा: {आईडी: "1", नाम: "एप्पल"} अच्छा उदाहरण के लिए

+3

Thx। अधिक स्पष्ट एसक्यूएल बराबर 'ख का चयन किया जाता है * ब्रांडों से बी अंदरूनी शामिल हों पर b.id = p.brand_id उत्पादों पी कहां p.name =" iPad ";' के बाद से Solr fromCore के क्षेत्र नहीं दे सकता।: ।। - ( – arun

+1

हाँ, कि दुर्भाग्य से सही है मैं अपने उदाहरण संपादित – mjalajel

+0

क्वेरी अमान्य है, यह होना चाहिए: 'q = नाम: iPad और fq = {! = आईडी fromIndex = उत्पादों के लिए = brand_id से शामिल होने}' या 'q = * : * और fq = नाम {= brand_id से करने के लिए = आईडी fromIndex = उत्पादों में शामिल हों!}: iPad' 'q =:।' अमान्य है – zengr

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

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