आपके साधारण मामले को ANY
. का उपयोग करके एक साधारण क्वेरी के साथ हल किया जा सकता है निर्माण और ~*
:
SELECT *
FROM tbl
WHERE col ~* ANY (string_to_array('The ships hung in the sky ... bricks don’t', ' '));
~*
केस असंवेदनशील रेगुलर एक्सप्रेशन मैच ऑपरेटर है। मैं इसका उपयोग ILIKE
. के बजाय करता हूं इसलिए हम %
. को पैड करने की आवश्यकता के बिना आपकी स्ट्रिंग में मूल शब्दों का उपयोग कर सकते हैं ILIKE
. के लिए . परिणाम वही है - विशेष वर्णों वाले शब्दों को छोड़कर:%_\
ILIKE
. के लिए और !$()*+.:<=>?[\]^{|}-
नियमित अभिव्यक्ति पैटर्न के लिए। आश्चर्य से बचने के लिए आपको किसी भी तरह से विशेष पात्रों से बचने की आवश्यकता हो सकती है। यहाँ रेगुलर एक्सप्रेशन के लिए एक फ़ंक्शन है:
- रेगुलर एक्सप्रेशन या LIKE पैटर्न के लिए एस्केप फ़ंक्शन
लेकिन मुझे संदेह है कि आपको बस इतना ही चाहिए। मेरी टिप्पणी देखें। मुझे संदेह है कि उपयोगी शब्द स्टेमिंग प्रदान करने के लिए आपको अपनी प्राकृतिक भाषा के लिए मेल खाने वाले शब्दकोश के साथ पूर्ण पाठ खोज की आवश्यकता है ...
संबंधित:
- IN बनाम PostgreSQL में कोई भी ऑपरेटर
- PostgreSQL क्वेरी प्रदर्शन विविधताओं की तरह
- PostgreSQL में LIKE, SIMILAR TO या रेगुलर एक्सप्रेशन से मिलान करने वाला पैटर्न