मैं पोस्टग्रेज के साथ एक jsonb कॉलम पर पूर्ण-पाठ खोज का उपयोग कैसे कर सकता हूं?


13

इसलिए मेरे पास एक jsonbकॉलम है जिसमें इस तरह की प्रविष्टियाँ हैं: https://pastebin.com/LxJ8rKk4

क्या पूरे jsonb कॉलम पर पूर्ण-पाठ खोज को लागू करने का कोई तरीका है?

जवाबों:



3

आप कर सकते हैं, हालांकि क्या यह व्यावहारिक है इतना स्पष्ट नहीं है:

CREATE TABLE t
(
    id SERIAL PRIMARY KEY,
    the_data jsonb
) ;

CREATE INDEX idx_t_the_data_full_text 
    ON t 
    USING gist ( (to_tsvector('English', the_data::text))) ;

और फिर इसके साथ क्वेरी करें:

SELECT
    the_data
FROM
    t
WHERE
    to_tsvector('English', the_data::text) @@ plainto_tsquery('English', 'Action') ;

ध्यान दें कि यह होगा भी अपने सभी वस्तु को ढूंढने चाबियाँ , न केवल मान । और आप कितने पाठ तक सीमित रहेंगे

यहाँ dbfiddle

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.