Django Haystack/Solr: Faceting on a model but show results only from a ForeignKey field -
मेरे पास Django में दो मॉडल हैं (छद्म कोड में)
class Medicine Db.Model): field_1 = db.CharField () field_2 = db.CharField () वर्ग अनुप्रयोग (db.Model): field_1 = db.CharField () field_2 = db.CharField () दवा = db.ForeignKey (चिकित्सा) < / कोड> एक 1: एम है एक दवा में कई अनुप्रयोग हो सकते हैं।
मुझे अनुप्रयोग के क्षेत्र में पहलू की जरूरत है लेकिन केवल संबंधित चिकित्सा ऑब्जेक्ट दिखाएं क्या हो सकता है? या एप्लिकेशन ? अगर मैं SearchIndex के लिए एप्लिकेशन बनाता हूं, तो मैं कैसे पता लगाता / फिल्टर डुप्लिकेट चिकित्सा वस्तुओं? पीएस: मुझे पता है देवता को Solr के रिलीज में फ़ील्ड गिराना सुविधा है, लेकिन मैं ऐसा करने से बचना चाहता हूं, क्योंकि यह बहुत बड़ा डाटाबेस और प्रदर्शन महत्वपूर्ण है।
मैंने घास का ढेर मेलिंग सूची पर डैनियल लिंडसे (हेस्टैक / पीएसओएलआर लेखक) की सहायता से इसे हल किया है।
से हयस्टैक इंडेक्स इंडेक्सस क्लास मेडिसिन (इंडेक्सिस। खोज इंडेक्स): field_1 = इंडेक्स .MultiValuedField (faceted = True) # अन्य फ़ील्ड परिभाषा def defer_field_1 (स्वयं, ऑब्जेक्ट): ऑब्जेक्ट में app के लिए मान = सूची ()। एपीआईपीप्लिक्षण। सभी (): values.append (app.field_on_which_to_facet) रिटर्न मान # परिभाषित "ready_fieldname" समान फ़ॉल्स् में अन्य फ़ील्ड के लिए विधियां। इंडेक्सिंग कुछ समय लेता है क्योंकि अनुक्रमित डेटा बहुत बड़ा है, लेकिन एक जादू की तरह काम किया।
Comments
Post a Comment