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

Postgresql में विराम चिह्न वाले शब्दों के लिए मैं SQL क्वेरी कैसे करूं?

tsvector

tsvector का प्रयोग करें टाइप करें, जो PostgreSQL टेक्स्ट-सर्च फीचर का हिस्सा है।

postgres> select 'What are Q-type Operations?'::tsvector;
              tsvector               
-------------------------------------
 'Operations?' 'Q-type' 'What' 'are'
(1 row)

आप परिचित ऑपरेटरों का उपयोग tsvectors पर भी कर सकते हैं:

postgres> select 'What are Q-type Operations?'::tsvector
postgres>        || 'A.B.C''s of Coding'::tsvector;
                           ?column?                           
--------------------------------------------------------------
 'A.B.C''s' 'Coding' 'Operations?' 'Q-type' 'What' 'are' 'of'

tsvector दस्तावेज़ीकरण से:

यदि आप भाषा-विशिष्ट सामान्यीकरण भी करना चाहते हैं, जैसे सामान्य शब्दों ('द', 'ए', आदि) को हटाना और गुणा करना, तो to_tsvector का उपयोग करें समारोह। यह टेक्स्ट सर्च के लिए अलग-अलग शब्दों को वेट भी असाइन करता है:

postgres> select to_tsvector('english',
postgres> 'What are Q-type Operations? A.B.C''s of Coding');
                      to_tsvector                       
--------------------------------------------------------
 'a.b.c':7 'code':10 'oper':6 'q':4 'q-type':3 'type':5
(1 row)

पूर्ण विकसित टेक्स्ट खोज

स्पष्ट रूप से किसी क्वेरी में प्रत्येक पंक्ति के लिए ऐसा करना महंगा होगा - इसलिए आपको tsvector को एक अलग कॉलम में स्टोर करना चाहिए और इसे खोजने के लिए ts_query() का उपयोग करना चाहिए। यह आपको tsvector पर एक GiST अनुक्रमणिका बनाने की अनुमति भी देता है।

postgres> insert into text (phrase, tsvec)
postgres>   values('What are Q-type Operations?',
postgres>   to_tsvector('english', 'What are Q-type Operations?'));
INSERT 0 1

tsquery और @@ ऑपरेटर का उपयोग करके खोज की जाती है:

postgres> select phrase from text where tsvec @@ to_tsquery('q-type');
           phrase            
-----------------------------
 What are Q-type Operations?
(1 row)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CSV से लोड करते समय PostgreSQL/JooQ बल्क प्रविष्टि प्रदर्शन समस्याएँ; मैं प्रक्रिया को कैसे सुधारूं?

  2. मैं psql की कमांड लाइन क्वेरी में सिंगल कोट से कैसे बचूं?

  3. पोस्टग्रेज़ डेटाबेस क्यों नहीं बनाता है?

  4. पीजी एडमिन 4 - पोस्टग्रेएसक्यूएल 13 सर्वर से कनेक्ट करने का प्रयास करते समय उपयोगकर्ता को पोस्टग्रेज करने के लिए पासवर्ड

  5. Postgresql DB का उपयोग करके NULL मान को संग्रहीत करने के लिए कितने डिस्क-स्थान की आवश्यकता है?