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

Postgresql में स्कोर/रैंक के साथ FULLTEXT क्वेरी

पोस्टग्रेज फुलटेक्स्ट सर्च MySQL फुलटेक्स्ट सर्च से थोड़ा अलग है। इसके पास और भी बहुत से विकल्प हैं, लेकिन जिस तरह से आप इसे पसंद करते हैं उस तरह से काम करना थोड़ा अधिक कठिन हो सकता है।

यह दस्तावेज़ आपको बताता है कि आप अपने खोज परिणामों को कैसे रैंक कर सकते हैं, लेकिन मैं आपको इस बारे में एक विचार प्राप्त करने के लिए कि आप इसके साथ क्या कर सकते हैं, इस बारे में एक विचार प्राप्त करने के लिए मैनुअल से संपूर्ण पूर्ण पाठ अनुभाग पढ़ने की दृढ़ता से अनुशंसा करता हूं:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING

मूल रूप से, आपकी क्वेरी के समतुल्य यह होगा:

SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC

जैसा कि आप देख सकते हैं, यह textsearch . का उपयोग करता है जो कुछ ऐसा है जिसे आपको स्वयं परिभाषित करना होगा। संक्षिप्त संस्करण के लिए, पढ़ें:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html

क्वेरी अनिवार्य रूप से बहुत सरल है:

SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC

लेकिन मैं इंडेक्स को भी जोड़ने की जोरदार सिफारिश करूंगा:

CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. दूसरे कॉलम के खिलाफ क्वेरी रिलेशन टेबल

  2. द्वारा समूह के साथ सशर्त एकत्रीकरण क्वेरी

  3. एक क्रिया में MySQL रिकॉर्ड एक-से-कई संबंधित तालिकाओं को भरें

  4. पाठ खोज क्वेरी के बिना स्फिंक्स बनाम MySQL का प्रयोग करें

  5. मैसकल लोड इनलाइन - विशिष्ट कॉलम