पिछले जवाब पर अपनी टिप्पणी के अनुसार, आप आसानी से कोई रोक शब्द और का उपयोग कर सभी शब्दों रोक के बीच स्विच कर सकते हैं। आप एक कस्टम खोज विन्यास के साथ इस हासिल कर सकते हैं:
(1) आप रोकने वाले शब्द फ़ाइल का उपयोग कर, उदाहरण के लिए बिना एक कस्टम शब्दकोश बना सकते हैं:,
CREATE TEXT SEARCH DICTIONARY english_stem_nostop (
Template = snowball
, Language = english
);
नोट में ऊपर मैं बाहर छोड़ दिया StopWords
पैरामीटर।
(2) तब अपना नया शब्दकोश का उपयोग करने के लिए एक नया विन्यास बनाने के लिए:
CREATE TEXT SEARCH CONFIGURATION public.english_nostop (COPY = pg_catalog.english);
ALTER TEXT SEARCH CONFIGURATION public.english_nostop
ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, hword, hword_part, word WITH english_stem_nostop;
(3) तब, जब खोज config आप उपयोग करना चाहते हैं निर्दिष्ट (वैकल्पिक रूप से आप default_text_search_config
विकल्प हर बार बदल सकते हैं), उदाहरण के लिए:
SELECT
title
FROM
articles
WHERE
to_tsvector('english_nostop', COALESCE(title,'') || ' ' || COALESCE(body,''))
@@ to_tsquery('english_nostop', 'how & to');
आप सामान्य config उपयोग करने के लिए ऊपर एसक्यूएल में सिर्फ 'english'
निर्दिष्ट कर सकते हैं।
नोट, केवल शब्दों रोक देखते हैं क्योंकि इस उदाहरण में मानक विन्यास का उपयोग कर नोटिस में परिणाम होगा कि।
याद रखिए निम्नलिखित, तथापि:
- आप अनुक्रमणिका का उपयोग कर रहे हैं, तो आप दो की आवश्यकता होगी - प्रत्येक विन्यास के लिए एक। (इन दस्तावेज़ों को देखें: tsearch tables और triggers)।
- डबल चेक करें कि कौन सा पार्सर टोकन आप इस मैपिंग का उपयोग चरण # 2 के अनुसार करना चाहते हैं (देखें Parsers)।
धन्यवाद, कैचडेव - यही वह है जिसे मैं ढूंढ रहा था। – tomd