मैं स्फिंक्स के लिए नया हूं और इसे सही तरीके से कॉन्फ़िगर करने की कोशिश कर रहा हूं। मैं सभी खोजों के लिए आंशिक शब्द मिलान की अनुमति देना चाहता हूं और नहीं चाहता कि उपयोगकर्ताओं को वाइल्डकार्ड वर्णों में स्वयं टाइप करना पड़े।स्फिंक्स में आंशिक शब्द मिलान सक्षम करना?
मैं खोज अमेज़ॅन या Google पर काम करना चाहता हूं, जहां आप एक शब्द लिखना शुरू करते हैं, तो सुझाव आते हैं। तो, उदाहरण के लिए, अगर कोई "x" टाइप करता है, तो "एक्सबॉक्स" जैसे मैचों को दिखाना चाहिए।
यहाँ सूचकांक सेटिंग्स मैं वर्तमान में कर रहे हैं:
min_word_len = 1
min_prefix_len = 1
prefix_fields = name
charset_type = utf-8
चीजों की पीएचपी तरफ, मैं SPH_MATCH_EXTENDED2
और SPH_SORT_RELEVANCE
उपयोग कर रहा हूँ। मैंने रैंकिंग मोड को डिफॉल्ट पर छोड़ दिया, जो कुछ भी है। जब मैंने परीक्षण और त्रुटि के आधार पर सेटिंग्स को बदल दिया तो ये सेटिंग्स सर्वोत्तम खोज परिणाम प्रदान करने लगती थीं।
मैंने यहां और अन्य साइटों पर समान प्रश्न पढ़े हैं, लेकिन उत्तर हमेशा enable_star
संदर्भित करते हैं जो दस्तावेज़ीकरण कहता है बहिष्कृत किया जाता है।
तो मेरा सवाल यह है कि, मैं स्फिंक्स में आंशिक शब्द मिलान कैसे सक्षम करूं? क्या मुझे उपयोगकर्ता क्वेरी में प्रत्येक शब्द को *
जोड़ना चाहिए, ऐसा कुछ करना?
$search = str_replace(' ', '* ', trim($search)) + '*';
धन्यवाद, यह पूरी तरह से काम करता है! – Nate