मैं अपने प्रोजेक्ट में फ़ज़ी मेलिंग का उपयोग कर मुख्य रूप से गलत नामों और समान नामों की अलग-अलग वर्तनी ढूंढने के लिए उपयोग कर रहा हूं। मुझे यह समझने की ज़रूरत है कि लोचदार खोज का अस्पष्ट मिलान कैसे काम करता है और यह शीर्षक में वर्णित 2 पैरामीटर का उपयोग कैसे करता है।elasticsearch fuzzy मिलान max_expansions और min_similarity
जैसा कि मैं समझता हूं min_similarity एक प्रतिशत है जिसके द्वारा queried स्ट्रिंग डेटाबेस में स्ट्रिंग से मेल खाता है। मुझे इस मूल्य की गणना कैसे की गई है इसका सटीक विवरण नहीं मिला।
max_expansions जैसा कि मैं समझता हूं वह लेवेनशेटिन दूरी है जिसके द्वारा एक खोज निष्पादित की जानी चाहिए। यदि यह वास्तव में लेवेनशेटिन दूरी था तो यह मेरे लिए आदर्श समाधान होता। वैसे भी, यह उदाहरण के लिए काम नहीं कर रहा मैं शब्द है "Samvel"
queryStr max_expansions matches?
samvel 0 Should not be 0. error (but levenshtein distance can be 0!)
samvel 1 Yes
samvvel 1 Yes
samvvell 1 Yes (but it shouldn't have)
samvelll 1 Yes (but it shouldn't have)
saamvelll 1 No (but for some weird reason it matches with Samvelian)
saamvelll anything bigger than 1 No
प्रलेखन कहते हैं कुछ मैं वास्तव में समझ में नहीं आता:
Add max_expansions to the fuzzy query allowing to control the maximum number
of terms to match. Default to unbounded (or bounded by the max clause count in
boolean query).
तो किसी को कैसे वास्तव में इन मानकों मुझे समझा कृपया कर सकते खोज परिणामों को प्रभावित करें।
आह, तो max_expansions और min_similarity का एक साथ उपयोग किया जाना चाहिए। तो वास्तविक दूरी सीमा 'min_similarity' और' max_expansions' कार्यों द्वारा की जाती है जैसे MySQL के 'LIMIT' खंड? यह सिर्फ संभावित परिणामों की संख्या को सीमित करता है? –
हां, यह 'LIMIT' क्लॉज की तरह काम करता है, जो चलने वाली अंतिम क्वेरी पर नहीं है, लेकिन अंतिम क्वेरी – DrTech
पर खोजने के लिए शब्दों की सूची खोजने के लिए उपयोग की जाने वाली अंतरिम क्वेरी पर बहुत बहुत धन्यवाद :) इससे मदद मिली बहुत :) –