संस्करणित पर्यायवाची सेट एक-तरफा बनाम दो-तरफा विस्तार घोषित करते हैं, किरायेदार अधिलेखों की अनुमति देते हैं, और खोजकर्ता को जिन दस्तावेज़ों को देखने की अनुमति नहीं है, उन्हें क्वेरी में विस्तारित नहीं करना चाहिए।
पैकेज स्थिति: संदर्भ संदर्भ मानव समीक्षा के लिए तैयार। अनुबंध और परीक्षण परिदृश्य पूर्ण हैं, लेकिन यह दावा नहीं किया गया है कि कोई अपनाने वाली कार्यान्वयन ने उन्हें पारित किया है।
निर्णय
साइट खोज संस्करणित पर्यायवाची सेट लागू करती है जो दिशा के बारे में स्पष्ट हैं: दो-तरफा समतुल्यता या एक-तरफा विस्तार। किरायेदार अधिलेखों को ओवरले कर सकते हैं जो ग्लोबल सेट को संपादित किए बिना मैपिंग को प्रतिस्थापित या जोड़ते हैं। क्वेरी विस्तार प्राधिकरण फ़िल्टर खोजकर्ता से बंधे होने के बाद चलता है; विस्तार को ऐसे दस्तावेज़ पुनः प्राप्त या स्कोर नहीं करना चाहिए जिन्हें उपयोगकर्ता पढ़ नहीं सकता, जिसमें ऐसे पर्यायवाची शामिल हैं जो केवल छिपे हुए शीर्षकों पर मौजूद हैं।
दायरा
- क्वेरी-समय पर्यायवाची विस्तार, पर्यायवाची-सेट संस्करण, एक-तरफा बनाम दो-तरफा मानचित्र, किरायेदार अधिलेख, और ACL-सुरक्षित पुनः प्राप्ति।
- अधिकृत कैटलॉग और ज्ञान संग्रह के लिए बैकएंड साइट खोज।
- लेबल वाले क्वेरी सेट पर पर्यायवाची-प्रभावित रैंकिंग का मूल्यांकन।
इस ब्लॉक के बाहर
- रैंक सीखने का मॉडल प्रशिक्षण और क्लिक विश्लेषिकी वेयरहाउस।
- RAG के लिए दस्तावेज़ चंकिंग।
अनुबंध
- प्रत्येक प्रकाशित पर्यायवाची सेट में एक मोनोटोनिक
set_versionऔरdirectionके साथ मैपिंग की एक सूची होती है, जोtwo-wayयाone-wayहो सकती है। - एक-तरफा मैपिंग
source -> targetस्रोत वाले क्वेरी को लक्ष्य शब्दों सहित विस्तारित करता है; यह लक्ष्य से स्रोत तक विस्तार नहीं करता जब तक कि रिवर्स मैपिंग मौजूद न हो। - किरायेदार अधिलेख उच्च प्राथमिकता वाले सेट के रूप में संग्रहीत होते हैं और कभी भी मूल सेट के बाइट्स को परिवर्तित नहीं करते।
- खोज निष्पादन दस्तावेज़ ACL (या समकक्ष दृश्यता) को स्कोरिंग से पहले या उसके साथ लागू करता है ताकि विस्तारित शब्द अनधिकृत हिट्स को प्रदर्शित न कर सकें।
- छिपे हुए दस्तावेज़ पर्यायवाची खोज में योगदान नहीं देते: व्यवस्थापक उन शीर्षकों से उपनाम नहीं निकाल सकते जिन्हें खोजकर्ता नहीं देख सकता।
set_versionमें बदलाव क्वेरी लॉग पर रिकॉर्ड किया जाता है ताकि प्रासंगिकता तुलना पुनरुत्पादनीय हो।
कार्यान्वयन
- दो-तरफा मैपिंग को निर्धारक समतुल्यता वर्गों में सामान्यीकृत करें। एक-तरफा नियमों को दिशात्मक रखें और पुनरावर्ती विस्तार को विज़िट किए गए शब्द की पहचान और
max_expansion_termsद्वारा सीमित करें। - विस्तार को उसी प्राधिकरण-सचेत क्वेरी के अंदर चलाएं जो उपयोगकर्ता फ़िल्टर के साथ है।
विफलता प्रबंधन
- समतुल्य दो-तरफा चक्रों को एक मानक वर्ग में समेकित किया जाता है। दिशात्मक चक्र या तो ऐसे इंजन प्रोफ़ाइल द्वारा अस्वीकार किए जाते हैं जो उन्हें सुरक्षित रूप से प्रस्तुत नहीं कर सकते या निर्धारक विज़िट किए गए शब्द की पहचान के साथ संकलित किए जाते हैं ताकि वे अनियंत्रित पुनरावृत्ति न कर सकें।
- पिन की गई क्वेरी पर अज्ञात
set_versionअंतिम अच्छी संस्करण या बिना विस्तार के बंद हो जाता है, कभी भी अप्रकाशित ड्राफ्ट पर नहीं।
सत्यापन
- एक-तरफा मैपिंग को क्वेरी करें और पुष्टि करें कि रिवर्स क्वेरी मेल नहीं खाता जब तक कि दो-तरफा कॉन्फ़िगर न हो।
- ऐसे उपयोगकर्ता के रूप में खोजें जो पर्यायवाची-लक्षित दस्तावेज़ नहीं पढ़ सकता और पुष्टि करें कि हिट्स शून्य हैं।
इस पैकेज में निष्पादन-समान उदाहरण फिक्स्चर और स्वीकृति अनुबंध हैं। पैकेज संरचना और मेटाडेटा जांचने के लिए संग्रह रूट से python tools/validate.py चलाएं; फिर लक्षित रिपॉजिटरी में परिदृश्यों को लागू और निष्पादित करें।
अपनाने की धारणाएँ
example.yamlमें नाम और संख्यात्मक मान एक अपनाने वाली प्रोफ़ाइल हैं, सार्वभौमिक डिफ़ॉल्ट नहीं।- अपनाने वाली टीम को अपने सिस्टम के लिए अभिनेताओं, डेटा वर्गों, त्रुटि शब्दावली, और स्वामित्व को मैप करना होगा।
संदर्भ
- विश्लेषक-स्तर पर्यायवाची फ़िल्टर एक सामान्य खोज-इंजन सुविधा हैं; Elastic एक दृष्टिकोण को https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html पर दस्तावेज़ करता है। दिशा, किरायेदार अधिलेख, और ACL-सुरक्षित विस्तार परियोजना निर्णय बने रहते हैं।