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

PostgreSQL पूर्ण पाठ खोज और ट्रिग्राम भ्रम

वे बहुत अलग उद्देश्यों की पूर्ति करते हैं।

  • पूर्ण पाठ खोज का उपयोग उन दस्तावेज़ों को वापस करने के लिए किया जाता है जो तने हुए शब्दों की खोज क्वेरी से मेल खाते हैं।
  • ट्रिग्राम आपको दो स्ट्रिंग्स की तुलना करने और यह निर्धारित करने के लिए कि वे कितने समान दिखते हैं, एक विधि प्रदान करते हैं।

निम्नलिखित उदाहरणों पर विचार करें:

SELECT 'cat' % 'cats'; --true

उपरोक्त सच है क्योंकि 'cat' काफी हद तक 'cats' . के समान है (जैसा कि pg_trgm सीमा द्वारा निर्धारित किया गया है)।

SELECT 'there is a cat with a dog' % 'cats'; --false

उपरोक्त रिटर्न false क्योंकि % cats . शब्द की तलाश में नहीं, दो संपूर्ण स्ट्रिंग्स के बीच समान रूप से खोज रहा है भीतर स्ट्रिंग।

SELECT to_tsvector('there is a cat with a dog') @@ to_tsquery('cats'); --true

यह true लौटाता है क्योंकि tsvector ने स्ट्रिंग को तने वाले शब्दों की सूची में बदल दिया और सामान्य शब्दों के एक समूह को अनदेखा कर दिया (शब्दों को रोकें - जैसे 'is' और 'a')... फिर cats के तने वाले संस्करण की खोज की ।

ऐसा लगता है कि आप स्वतः-सुधार . के लिए ट्रिगर का उपयोग करना चाहते हैं आपका ts_query लेकिन यह वास्तव में संभव नहीं है (वैसे भी किसी भी कुशल तरीके से नहीं)। वे वास्तव में जानते नहीं हैं एक शब्द गलत वर्तनी है, यह दूसरे शब्द के समान कैसे हो सकता है। वे कर सकते थे समान शब्दों को खोजने और खोजने के लिए शब्दों की एक तालिका खोजने के लिए इस्तेमाल किया जा सकता है, जिससे आप "क्या आपका मतलब ..." प्रकार की सुविधा को लागू कर सकते हैं, लेकिन इस शब्द के लिए एक अलग तालिका बनाए रखने की आवश्यकता है जिसमें आपके search फ़ील्ड.

यदि आपके पास कुछ सामान्य रूप से गलत वर्तनी वाले शब्द/वाक्यांश हैं जो आप चाहते हैं कि टेक्स्ट-इंडेक्स का मिलान हो, तो आप पर्यायवाची शब्दकोश देखना चाहेंगे




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DRBD का उपयोग करके PostgreSQL के लिए वॉल्यूम स्तर प्रतिकृति का अवलोकन

  2. कॉलम एएससी द्वारा क्रमबद्ध करें, लेकिन पहले नल मान?

  3. PostgreSQL में पंक्ति अपडेट होने पर टाइमस्टैम्प अपडेट करें

  4. क्रमबद्ध पथों के लाभों पर

  5. PostgreSQL में किसी तिथि से सप्ताह संख्या कैसे निकालें