इसलिए मेरे पास एक jsonb
कॉलम है जिसमें इस तरह की प्रविष्टियाँ हैं: https://pastebin.com/LxJ8rKk4
क्या पूरे jsonb कॉलम पर पूर्ण-पाठ खोज को लागू करने का कोई तरीका है?
इसलिए मेरे पास एक jsonb
कॉलम है जिसमें इस तरह की प्रविष्टियाँ हैं: https://pastebin.com/LxJ8rKk4
क्या पूरे jsonb कॉलम पर पूर्ण-पाठ खोज को लागू करने का कोई तरीका है?
जवाबों:
PostgreSQL 10 JSONB पर पूर्ण पाठ खोज का परिचय देता है
CREATE INDEX ON table
USING gin ( to_tsvector('english',jsondata) );
JSON पर अनुक्रमणित नया FTS, JSON-मार्कअप और कुंजियों दोनों पर वाक्यांश खोज और स्किप के साथ काम करता है।
आप कर सकते हैं, हालांकि क्या यह व्यावहारिक है इतना स्पष्ट नहीं है:
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