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

क्या वाक्यांश खोज ऑपरेटर <-> JSONB दस्तावेज़ों या केवल संबंधपरक तालिकाओं के साथ काम करता है?

वाक्यांश खोज क्षमता पाठ्य खोज डेटा में एकीकृत है टाइप करें tsquery . टेक्स्ट सर्च ऑपरेटर @@ आप प्रदर्शित करते हैं एक tsvector . लेता है बाईं ओर और एक tsquery दांई ओर। और एक tsvector किसी भी वर्ण प्रकार के साथ-साथ JSON दस्तावेज़ से भी बनाया जा सकता है।

संबंधित:

आप अपना json कन्वर्ट कर सकते हैं या jsonb समर्पित में से एक के साथ टेक्स्ट सर्च वेक्टर के लिए दस्तावेज़ कार्य :

to_tsvector()
json(b)_to_tsvector()

ध्यान दें कि इनमें केवल मान शामिल हैं JSON दस्तावेज़ से, कुंजी . से नहीं . आमतौर पर, आप यही चाहते हैं।मूल उदाहरण:

SELECT to_tsvector(jsonb '{"foo":"jump quickly"}')
    @@ to_tsquery('jump <-> quick:*');

प्रदर्शन उपसर्ग मिलान वाक्यांश खोज के शीर्ष पर रहते हुए। देखें:

वैकल्पिक रूप से , आप बस tsvector . बना सकते हैं text . से मुख्य नामों को शामिल करने के लिए आपके JSON दस्तावेज़ का प्रतिनिधित्व:

SELECT to_tsvector((jsonb '{"foo-fighter":"jump quickly"}')::text)
    @@ to_tsquery('foo <-> fight:*');

एक बड़ा tsvector पैदा करता है , जाहिर है।

दोनों को अनुक्रमित किया जा सकता है (जो पाठ खोज का मुख्य बिंदु है)। केवल अनुक्रमणिका संबंधपरक तालिकाओं के लिए बाध्य हैं। (और आप एक्सप्रेशन को इंडेक्स कर सकते हैं !)
अभिव्यक्ति को किसी भी मान पर लागू किया जा सकता है, तालिकाओं के लिए बाध्य नहीं, जैसा कि आप इंगित करते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL और C# डेटाटाइप्स

  2. JDBC बैच संचालन समझ

  3. यदि अद्यतन मान शून्य है तो कॉलम को अपडेट न करें

  4. PostgreSQL में आंकड़े लक्ष्य जांचें

  5. हेरोकू माइग्रेशन:टाइप बाइटिया के लिए टाइप संशोधक की अनुमति नहीं है