2012-05-18 20 views
7

के समान प्रदर्शन करने के लिए लोचदार खोज कैसे प्राप्त करें यदि डेटा क्वेरी करने के लिए SQL 'Like' कथन का उपयोग करना है तो यह डेटा लौटाएगा, भले ही इसका आंशिक रूप से मिलान हो। उदाहरण के लिए, यदि मैं भोजन की तलाश में हूं और एसक्यूएल का उपयोग करते समय "आरिसिन" नामक मेरे डीबी में एक आइटम है तो क्वेरी "किशमिश" लौटाएगी, भले ही मेरी खोज में केवल "राय" हो। लोचदार खोज में, क्वेरी तब तक रिकॉर्ड नहीं लौटाएगी जब तक कि पूरा नाम (इस मामले में "किशमिश") निर्दिष्ट नहीं है। SQL कथन के समान व्यवहार करने के लिए मैं लोचदार खोज कैसे प्राप्त कर सकता हूं। मैं रेल 3.1.1 और PostgreSQL का उपयोग कर रहा हूँ। धन्यवाद!एसक्यूएल 'LIKE'

उत्तर

5

इंडेक्स पर लोचदार खोज टोकननाइज़र के लिए मॉडल की अनुक्रमणिका बनाते समय आपकी आवश्यकता पूरी होगी। के लिये। जैसे

tokenizer: { 
       :name_tokenizer => {type: "edgeNGram", max_gram: 100, min_gram: 3, side: "front"} 
      } 

इससे आपके फ़ील्ड के 3 से 100 आकार के टोकन बनाए जाएंगे और साथ ही पक्ष को आगे के रूप में दिया जाएगा, यह शुरुआत से ही जांचेगा। आप यहां से अधिक जानकारी प्राप्त कर सकते हैं http://www.slideshare.net/clintongormley/terms-of-endearment-the-elasticsearch-query-dsl-explained

संबंधित मुद्दे