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

कुछ क्षेत्रों को अधिक प्रासंगिकता दें और MySQL पूर्ण पाठ खोज में प्रासंगिकता के आधार पर छाँटें

सबसे पहले, तीन FULLTEXT इंडेक्स बनाएं:

* one on the title column
* one on the body column
* one on both title and body columns

फिर, निम्नलिखित तरीके से अपनी क्वेरी बनाएं:

SELECT field1, field2, field3, title, body,
MATCH (title) AGAINST ('word_to_search') AS rel_title,
MATCH (body) AGAINST ('word_to_search') AS rel_body
FROM table_to_use
WHERE MATCH (title,body) AGAINST ('word_to_search')
ORDER BY (rel_title*2)+(rel_body)

यह शीर्षक को शरीर से 2 गुना अधिक प्रासंगिकता देगा।

यह काफी आसान है जब आपको सामग्री को क्रमबद्ध करने की अनुमति देने की आवश्यकता होती है, उदाहरण के लिए, टैग द्वारा (जो उपयोगकर्ताओं द्वारा नहीं देखा जाता है) क्योंकि यह आपको दृश्यों के पीछे से परिणामों को बदलने की अनुमति देता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मूडल का उपयोग करके उपयोगकर्ता बनाएं और उन्हें SQL के माध्यम से पाठ्यक्रमों में नामांकित करें

  2. MySQL json_arrayagg बिना परिणाम के बाएं शामिल हों

  3. MySQL में एक पूर्ण-पाठ खोज में * (तारांकन चिह्न) तैयार करना

  4. MySQL DATE_ADD काम नहीं करता

  5. क्या आप टेबल के साथ डेटाबेस नाम निर्दिष्ट करके टेबल को छोड़ सकते हैं?