लचीला खोजें अनुक्रमित डिफ़ॉल्ट रूप से एक स्ट्रिंग, आम तौर पर यह उन्हें टोकन में, टूट जाता है उदाहरण के लिए: "दीवार के ऊपर फॉक्स कूद" अलग-अलग शब्दों में tokenized हो जाएगा "फॉक्स", "कूद" के रूप में, "पर" , "दिवार"।
तो यह क्या करता है? यदि आप ल्यूसीन क्वेरी का उपयोग करके अपने दस्तावेज़ों को खोजना चाहते थे, तो आपको वह स्ट्रिंग नहीं मिल सकती है जो आप चाहते हैं क्योंकि लोचदार खोज पूरी स्ट्रिंग के बजाय स्वचालित रूप से टोकनयुक्त शब्दों की खोज करेगी, इस प्रकार आपके खोज परिणाम गंभीर रूप से प्रभावित होंगे।
उदाहरण के लिए, यदि आप "दीवार पर फॉक्स कूद" की खोज करते हैं, तो आपको कोई परिणाम नहीं मिलेगा। इसके बजाय "फॉक्स" खोजना आपको परिणाम देगा।
एपीआई का विश्लेषण करें या विश्लेषण अवधि , अनुक्रमित स्ट्रिंग tokenize करने के लिए नहीं है, ताकि आप ठीक तरह से सटीक तार के लिए खोज सकते हैं, जो विशेष रूप से उपयोगी है जब आप पूरे पर सांख्यिकीय पहलुओं क्या करना चाहते हैं लचीला खोजें बताता है तार।
टोकनकार अलग-अलग शब्दों में स्ट्रिंग को टोकननाइज़ करें और उन्हें लोचदार खोज में स्टोर करें। जैसा कि बताया गया है, इन टोकन को खोज एपीआई का उपयोग करने के खिलाफ पूछताछ की जा सकती है।
फ़िल्टर आपके द्वारा निर्दिष्ट विशिष्ट स्थितियों के तहत अपने पूछे गए परिणाम का सबसेट बनाएं, इस प्रकार आपको अपनी खोज परिणामों में जो चाहिए उसे अलग करने में आपकी सहायता करने में मदद मिलती है।
स्रोत
2012-06-08 07:16:03
आप "दीवार पर फॉक्स कूद" कर सकते हैं और यदि आप इसे एक प्रश्न के रूप में करते हैं तो यह आपको सभी शब्दों के साथ सही परिणाम देगा: 'client.prepareSearch()। SetQuery (QueryBuilders.matchQuery (NODE_PATH_TO_SEARCH, "दीवार पर फॉक्स कूद"))। मेरे लिए यह क्वेरी स्ट्रिंग में दिए गए शब्दों के आधार पर लगता है और परिणाम – Adrian