2015-07-21 9 views
5

में LIKE% स्ट्रिंग% के बराबर निम्न SQL खोज क्वेरी के समान तर्क के साथ एक एसओएलआर खोज कैसे करें?कोल्डफ्यूजन सोलर सर्च - एसक्यूएल

SELECT * FROM user where email LIKE '%ben%'" 

मैं निम्नलिखित,

<cfscript> 
    mysearch = new com.adobe.coldfusion.search(); 
    searchResult = mysearch.search(collection="mycollection", criteria='ben*'); 
</cfscript> 
  1. criteria='ben*' का मिलान नहीं हुआ 'raw_ बेन @ yahoo.com' और 'बेन @ yahoo.com' लेकिन वापस नहीं किया था स्ट्रिंग की कोशिश की 'ro बेन ro बेन'।

  2. criteria='ben~' का मिलान नहीं हुआ 'raw_ बेन @ yahoo.com' और 'बेन @ yahoo.com' लेकिन वापसी स्ट्रिंग नहीं था 'ro बेन ro बेन'।

वही सभी अस्पष्ट खोज, जंगली खोज प्रयासों के लिए चला जाता है।

+0

फ़ील्ड क्या है खोज क्षेत्र के लिए टाइप करें? –

उत्तर

3

आपको अपने क्षेत्र के लिए फ़ील्ड टाइप बदलने की जरूरत है जो solr.EdgeNGramFilterFactory का उपयोग करके टोकन उत्पन्न कर सकता है, जिसकी सहायता से आप टोक़ उत्पन्न कर सकते हैं उदा। अभिजीत अब, अभि, अभिजी, अभिजी, अभिजीत उत्पन्न करेंगे और इसलिए आपकी क्वेरी के लिए इन सभी संयोजनों से मेल खाते हैं।

दूसरा EdgeNGramFilterFactory साथ यह टोकन JIT, ijit, hijit, bhijit, अभिजीत, आईजेआई Hiji, bhiji आदि इतने पर उत्पन्न होगा ...

नीचे दिए गए क्षेत्र प्रकार के साथ की कोशिश

<fieldType name="text_reference" class="solr.TextField" sortMissingLast="true" omitNorms="true" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.KeywordTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="50" side="front"/> 
     <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="50" side="back"/> 
    </analyzer> 
    <analyzer type="query"> 
     <tokenizer class="solr.KeywordTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 
+0

मेरी समस्या यह है कि 'ro' 'ro ** ben **' में 'ben' जो स्ट्रिंग के बीच में है, कुंजी शब्दों की सूची में नहीं जोड़ा जाता है। क्या कोई रास्ता है? –

+0

हाँ वहाँ है ... कृपया उत्तर दें –

+0

विशेषता पक्ष के लिए संभावित मूल्य क्या हैं? –

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