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

क्या PostgreSQL tf-idf का उपयोग करता है?

नहीं। ts_rank फ़ंक्शन के भीतर, उनकी वैश्विक (कॉर्पस) आवृत्ति का उपयोग करके परिणामों को रैंक करने के लिए कोई मूल विधि नहीं है। हालांकि रैंक एल्गोरिथ्म दस्तावेज़ के भीतर आवृत्ति के आधार पर रैंक करता है:

http://www.postgresql.org/docs/9.3/static /textsearch-controls.html

इसलिए यदि मैं "कुत्ते|चिहुआहुआ" की खोज करता हूं, तो "चिहुआहुआ" शब्द की अपेक्षाकृत कम आवृत्ति के बावजूद निम्नलिखित दो दस्तावेजों की रैंक समान होगी:

"I want a dog"
"I want a chihuahua"

हालांकि, निम्न पंक्ति को ऊपर की पिछली दो पंक्तियों की तुलना में उच्च स्थान दिया जाएगा, क्योंकि इसमें दस्तावेज़ में दो बार स्टेमड टोकन "डॉग" शामिल है:

"dog lovers have an average of 1.5 dogs"

संक्षेप में:दस्तावेज़ के भीतर उच्च टर्म फ़्रीक्वेंसी का परिणाम उच्च रैंक में होता है, लेकिन कॉर्पस में कम टर्म फ़्रीक्वेंसी का कोई प्रभाव नहीं पड़ता है।

एक चेतावनी:टेक्स्ट खोज स्टॉप-वर्ड्स को अनदेखा करती है, इसलिए आप "द", "ए", "ऑफ", "फॉर" आदि जैसे अल्ट्रा हाई फ़्रीक्वेंसी शब्दों से मेल नहीं खाएंगे (यह मानते हुए कि आपने अपनी भाषा सही ढंग से सेट की है)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. search_path के संबंध में डिफ़ॉल्ट मान अभिव्यक्ति फ़ंक्शन कब/कैसे बाध्य हैं?

  2. आईडी के साथ रिकॉर्ड खोजने के लिए SQL क्वेरी किसी अन्य तालिका में नहीं है

  3. Postgres में एक डेटाबेस से दूसरे डेटाबेस में तालिका की पंक्तियों के सबसेट को कॉपी करने का सबसे अच्छा तरीका क्या है?

  4. PostgreSQL में परिणाम सेट का वर्णन करें?

  5. एक्सटेंशन नहीं बना सकते plv8 postgresql