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

tsvector केवल अंग्रेज़ी का समर्थन करता है?

मुझे इसके साथ खेले हुए कुछ समय हो गया है, लेकिन आपको ts_vector को सही भाषा में बनाने की आवश्यकता है, न कि ts_query में।

इसलिए जब आप अपनी तालिका अपडेट करते हैं, तो इसका उपयोग करें:

UPDATE blog_entry SET body_tsv=to_tsvector('german', body);

टेक्स्ट सर्च इंजन में स्टेमिंग को बेहतर बनाने के लिए आप कार्यक्षमता का विस्तार भी कर सकते हैं और एक ispell शब्दकोश का उपयोग कर सकते हैं (हालांकि यह अभी भी उतना परिष्कृत नहीं होगा जैसे सोलर)

ऐसा करने के लिए, ISPELL डिक्शनरी डाउनलोड करें जो कि उदा। OpenOffice जर्मन डिक्शनरी में निहित है

.oxt फ़ाइल वास्तव में एक .zip फ़ाइल है, जिससे आप आसानी से इसकी सामग्री निकाल सकते हैं।

फिर फ़ाइल को कॉपी करें de_DE_frami.dic एक्सटेंशन को .dict . में बदलते समय PostgreSQL "share/tsearch_data" निर्देशिका में (जो कि PostgreSQL अपेक्षा करता है।

फिर फाइल को कॉपी करें de_DE_frami.aff उसी निर्देशिका में, एक्सटेंशन को .affix . में बदलना ।

आपको दोनों (पाठ) फ़ाइलों को UTF-8 में कनवर्ट करने की आवश्यकता है ताकि वे PostgreSQL के साथ काम कर सकें

फिर उस शब्दकोश का उपयोग करके पंजीकरण करें:

CREATE TEXT SEARCH CONFIGURATION de_config (copy=german);

CREATE TEXT SEARCH DICTIONARY german_stem (
    TEMPLATE = snowball,
    Language = german
);

CREATE TEXT SEARCH DICTIONARY german_ispell (
    TEMPLATE = ispell,
    dictfile = de_DE_frami,
    afffile = de_de_frami
);

alter text search configuration de_config 
     alter mapping for asciiword WITH german_ispell, german_stem;

एक बार यह हो जाने के बाद, आप निम्न का उपयोग करके अपना ts_vector बना सकते हैं:

UPDATE blog_entry SET body_tsv=to_tsvector('de_config', body);

यह मैनुअल में भी वर्णित है:http ://www.postgresql.org/docs/current/static/textsearch-dictionaries.html#TEXTSEARCH-ISPELL-DICTIONARY



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mac पर Homebrew के साथ PostgreSQL

  2. स्प्रिंग और पोस्टग्रेएसक्यूएल के बीच गलत एन्कोडिंग

  3. मैं postgresql के लिए HikariCP को कैसे कॉन्फ़िगर करूं?

  4. पोस्टग्रेज - दूरस्थ सर्वर से संपूर्ण डीबी की एक प्रति स्थानीय देव मशीन पर खींचे

  5. अजगर / पोस्टग्रेस्क्ल / psycopg2 में उपयोगकर्ता इनपुट से सुरक्षित रूप से 'ऑर्डर बाय' क्लॉज निर्दिष्ट करना