2012-01-16 14 views
6

क्या यह निर्धारित करना संभव है कि इंडेक्स बनाने के दौरान विशिष्ट शब्द अन्य महत्वपूर्ण हैं (जब यह पूछताछ न हो)?सूचकांक बनाने के दौरान ल्यूसीन शर्तों को बढ़ावा देना

उदाहरण के लिए विचार करें एक पर्याय फिल्टर:
डॉक 1:
डॉक 2 "इस एक अच्छी कार है":

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

फ़ील्ड पर सेटबॉस्ट को अपने संबंधित दस्तावेजों में जोड़ने से पहले कॉल करना क्या चाल है?

या शायद मुझे समानार्थी शब्द को एक अलग फ़ील्ड नाम में जोड़ना चाहिए?

या क्या मैं इसे गलत तरीके से देख रहा हूं?

धन्यवाद

उत्तर

4

एक दायर पर बढ़ावा स्थापना उस क्षेत्र में सभी नियमों को प्रभावित करता है इसलिए यह आपके मामले में काम नहीं करेंगे।

लेकिन यह ल्यूसीन पेलोड्स (एक बाइट सरणी जिसे प्रत्येक शब्द के लिए सेट किया जा सकता है) का उपयोग करके सकारात्मक होना चाहिए। आप उन्हें टर्म विशिष्ट बूस्ट सेट करने के लिए उपयोग करेंगे (उदाहरण के लिए डॉक्टर 1 के लिए वाहन 0.5)। फिर आप अपने Similarity को कार्यान्वित करेंगे और scorePayload() विधि को उस बूस्ट को डीकोड करने के लिए ओवरराइड करें और फिर PayloadTermQuery का उपयोग करें जो आपको उस शब्द के लिए पेलोड में मौजूद बूटों के आधार पर स्कोर में योगदान करने की अनुमति देता है।

+0

धन्यवाद, मैं उन वर्गों और विधियों के आधार पर एक उदाहरण देखने की कोशिश करूंगा जो आपने यहां नोट किया था। – epeleg

+0

क्या इन पेलोड बूस्ट को केवल किसी विशेष फ़ील्ड (जैसे "टैग") में शर्तों तक सीमित करना संभव है? – RalfB

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