Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

php/mysql. क्या यह पता लगाने के लिए mysql फ़ंक्शन है कि कम से कम 2 निश्चित शब्द कम से कम एक mysql पंक्ति-फ़ील्ड में मौजूद हैं या नहीं?

मुझे लगता है कि आप बूलियन पूर्ण-पाठ खोज

अगर आप बिना ऑपरेटर के मैच करते हैं + - जैसे 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%' - यदि किसी अनुक्रमणिका का उपयोग किया जा सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP स्क्रिप्ट में MySQL क्रेडेंशियल कहाँ स्टोर करें?

  2. MySQL में OUTPUT क्लॉज

  3. WAMP सर्वर हरे रंग में लेकिन केवल 404 . प्राप्त करें

  4. उपयोगकर्ता नाम द्वारा Laravel में उपयोगकर्ता खोजें

  5. SQL कथन में चर नाम का उपयोग कैसे करें?