5

में वाक्यांश क्वेरी के लिए अस्पष्टता को कैसे सक्षम करें हम लाखों टैग के माध्यम से खोज के लिए लोचदार खोज का उपयोग कर रहे हैं। हमारे उपयोगकर्ताओं को बुलियन ऑपरेटर (+, -, "xy", और, OR, ब्रैकेट्स) शामिल करने में सक्षम होना चाहिए। यदि कोई हिट वापस नहीं आती है, तो हम ईएस द्वारा प्रदान किए गए वर्तनी सुझाव पर वापस आते हैं और फिर से खोज करते हैं। यह हमारी क्वेरी है:ElasticSearch

$ curl -XGET 'http://127.0.0.1:9200/my_index/my_type/_search' -d ' 
{ 
    "query" : { 
     "query_string" : { 
      "query" : "some test query +bools -included", 
      "default_operator" : "AND" 
     } 
    }, 
    "suggest" : { 
     "text" : "some test query +bools -included", 
     "simple_phrase" : { 
      "phrase" : { 
       "field" : "my_tags_field", 
       "size" : 1 
      } 
     } 
    } 
} 

केवल वर्तनी सुझावों पर फ़ॉलबैक प्रदान करने के बजाय, हम अस्पष्ट मिलान को सक्षम करना चाहते हैं। यदि, उदाहरण के लिए, कोई उपयोगकर्ता "stackoverfolw" की खोज करता है, तो ES को "stackoverflow" के लिए मिलान वापस करना चाहिए।

अतिरिक्त प्रश्न: वर्तनी त्रुटियों को "सही करने" के लिए बेहतर प्रदर्शन विधि क्या है? जैसा कि अब है, हमें मूल खोज शब्द के साथ पहले दो अनुरोधों को पूरा करना होगा, फिर ईएस द्वारा सुझाए गए शब्द के साथ।

उत्तर

4

क्वेरी_स्ट्रिंग कुछ अस्पष्टता का समर्थन करता है लेकिन केवल ~ ऑपरेटर का उपयोग करते समय, जो मुझे लगता है कि आपका उपयोग नहीं है। मैं fuzzy query जोड़ूंगा और इसे मौजूदा क्वेरी_स्ट्रिंग में या उसके साथ रखूंगा। उदाहरण के लिए आप bool query का उपयोग कर सकते हैं और मूल क्वेरी_स्ट्रिंग को अवश्य क्लॉज के रूप में रखते हुए फ़ज़ी क्वेरी के रूप में फ़ज़ी क्वेरी जोड़ सकते हैं।

वर्तनी की गलतियों को ठीक करने के तरीके के बारे में आपके अतिरिक्त प्रश्न के लिए: यदि आप चाहते हैं कि उपयोगकर्ता किसी सूची से सही सुधार का चयन करें (उदाहरण के लिए आपका मतलब है), लेकिन मैं स्वचालित रूप से उन्हें सही करने के लिए अस्पष्ट प्रश्नों का उपयोग करूंगा, लेकिन आपका दृष्टिकोण भी अच्छा लगता है।

+0

धन्यवाद - जो मेरे विचारों की पुष्टि करता है। वैसे भी, हम जो भी पहले से रखते हैं उसके साथ चिपके रहते हैं। यह एक बहुत तेज़ दृष्टिकोण प्रतीत होता है। "अस्पष्ट क्वेरी" के बारे में, लोचदार खोज दस्तावेज़ों में भी अच्छी तरह से मापनीय नहीं होने के बारे में एक चेतावनी का जिक्र है। –