मैं पोस्टग्रेएसक्यूएल, पूर्ण पाठ खोज और ट्रिग्राम की पूरी अवधारणा के साथ थोड़ा उलझन में हूं। मेरा पूरा पाठ खोज क्वेरी में, मैं tsvectors उपयोग कर रहा हूँ, इसलिए जैसे:पोस्टग्रेएसक्यूएल पूर्ण पाठ खोज और ट्रिग्राम भ्रम
SELECT * FROM articles
WHERE search_vector @@ plainto_tsquery('english', 'cat, bat, rat');
समस्या है, इस विधि गलत वर्तनी के लिए खाते में नहीं है। फिर मैंने Trigram and pg_trgm
:
अन्य उदाहरणों के माध्यम से पढ़ना शुरू किया, ऐसा लगता है जैसे ट्रिगर का उपयोग किया जाता है या वैक्टर का उपयोग किया जाता है, लेकिन दोनों कभी नहीं। तो मेरे प्रश्न हैं: क्या वे कभी एक साथ उपयोग किए जाते हैं? यदि हां, तो कैसे? क्या ट्रिग्राम पूर्ण पाठ को प्रतिस्थापित करता है? क्या ट्रिग्राम अधिक सटीक हैं? और प्रदर्शन पर ट्रिग्राम कैसे हैं?
को देखने के लिए चाहते हो सकता है मैं '%' और 'के बीच मतभेदों को उजागर करने के लिए उदाहरण के एक जोड़े को जोड़ दिया है पाठ सूचकांक चाहते हैं, तो प्रत्येक एक्सटेंशन से @@ '। यदि आपका उद्देश्य उन दस्तावेजों को ढूंढना है जिनमें अंग्रेजी है (या किसी ज्ञात भाषा के लिए जो आपके पास शब्दकोश है) तो आप पूर्ण-पाठ के बाद हैं। यदि आपका लक्ष्य पूरे क्षेत्र की स्ट्रिंग के खिलाफ पूरे क्षेत्र से मिलान करना है, तो टाइपो के लिए थोड़ा सा लेवेइग के साथ, तो pg_trgm वह है जो आप चाहते हैं। –
स्पष्टीकरण के लिए धन्यवाद! इसने इसे बहुत साफ कर दिया। ठीक है तो ऐसा लगता है कि शब्दकोशों के बारे में अपने ज्ञान का विस्तार करके समस्या हल हो सकती है। –
+1 अच्छा, स्पष्ट उत्तर। –