मुझे लगता है कि आप बूलियन पूर्ण-पाठ खोजका उपयोग करना चाहते हैं। ए>
अगर आप बिना ऑपरेटर के मैच करते हैं +
-
जैसे green red blue
. के विरुद्ध सभी पंक्तियाँ लौटा दी जाती हैं, जहाँ एक रिकॉर्ड में कम से कम एक शब्द होता है:green
या red
या blue
।
IN BOOLEAN MODE
और ऑपरेटरों के बिना प्रत्येक मिलान शब्द स्कोर करेगा 1
. इसलिए यदि कोई रिकॉर्ड तीन में से दो शब्दों से मेल खाता है तो यह स्कोर होगा 2
।
पंक्तियों को कम से कम 2 अंक प्राप्त करने के लिए:
SELECT *,
MATCH (`TextToCheckIn`) AGAINST ('green red blue' IN BOOLEAN MODE) `score`
FROM `my_tab` WHERE
MATCH (`TextToCheckIn`) AGAINST ('green red blue' IN BOOLEAN MODE)
HAVING `score` >= 2
ORDER BY `score` DESC
प्राकृतिक भाषा मोड में स्कोरिंग पूरी तरह से अलग काम करता है। सोचें कि यह प्राथमिक रूप से BM25 पर आधारित है। ।
बड़े डेटासेट बूलियन फ़ुलटेक्स्ट सर्च पर (fulltext index का उपयोग करके
) आमतौर पर REGEXP
. से बेहतर प्रदर्शन करता है या LIKE
दूर तक यदि शब्दों का मिलान कहीं से हो रहा है लिखित मे। REGEXP '^word'
जैसे आद्याक्षर से मिलान के लिए केवल like/regexp का उपयोग करेंगे या LIKE 'word%'
- यदि किसी अनुक्रमणिका का उपयोग किया जा सकता है।