में वाक्यांश क्वेरी के लिए अस्पष्टता को कैसे सक्षम करें हम लाखों टैग के माध्यम से खोज के लिए लोचदार खोज का उपयोग कर रहे हैं। हमारे उपयोगकर्ताओं को बुलियन ऑपरेटर (+, -, "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" के लिए मिलान वापस करना चाहिए।
अतिरिक्त प्रश्न: वर्तनी त्रुटियों को "सही करने" के लिए बेहतर प्रदर्शन विधि क्या है? जैसा कि अब है, हमें मूल खोज शब्द के साथ पहले दो अनुरोधों को पूरा करना होगा, फिर ईएस द्वारा सुझाए गए शब्द के साथ।
धन्यवाद - जो मेरे विचारों की पुष्टि करता है। वैसे भी, हम जो भी पहले से रखते हैं उसके साथ चिपके रहते हैं। यह एक बहुत तेज़ दृष्टिकोण प्रतीत होता है। "अस्पष्ट क्वेरी" के बारे में, लोचदार खोज दस्तावेज़ों में भी अच्छी तरह से मापनीय नहीं होने के बारे में एक चेतावनी का जिक्र है। –