5

पढ़ें Queryपूर्ण पाठ खोज (Postgres) लचीला खोज बनाम

Posgres में, पूर्ण पाठ अनुक्रमण की अनुमति देता है दस्तावेजों preprocessed किया जाना है और एक सूचकांक बाद में तेजी से खोज के लिए बचा लिया। प्रीप्रोकैसिंग में शामिल हैं:

  • टोकन में दस्तावेज़ों को पार्स करना।

  • टोकन को लेक्सम में परिवर्तित करना।

  • खोज के लिए अनुकूलित प्रीप्रोसेस्ड दस्तावेज़ों को संग्रहीत करना।


tsvector प्रकार पूर्ण पाठ खोज के लिए Postgres में प्रयोग किया जाता है

tsvector प्रकार नीचे पहलुओं में text प्रकार की तुलना में अलग है:

  • मामले को समाप्त करता है। ऊपरी/छोटे अक्षर पत्र समान

  • निकालता शब्द रोक रहे हैं (और, या, नहीं, वह उसे, और दूसरों के सैकड़ों) इन शब्दों -because

  • समानार्थी शब्द बदलता है और लेता पाठ खोज के लिए प्रासंगिक नहीं हैं शब्द उपजी (elephant ->eleph)। पूर्ण पाठ सूची में, इसमें elephant शब्द नहीं है लेकिन elep शब्द है।

  • (और चाहिए) GIST और जिन के साथ सूचीबद्ध किए जा

  • कस्टम वजन & ts_rank


कैसे लचीला खोज (खोज इंजन) के साथ रैंकिंग सकते हैं पूर्ण पाठ खोज से अधिक लाभ दिया है पोस्टग्रेज़ में?

उत्तर

3

फुलटेक्स्ट सर्च और लोचदार खोज दोनों मूलभूत तकनीक उलटा इंडेक्स पर बनाए गए हैं, इसलिए प्रदर्शन इसके बारे में होगा।

एफटीएस तैनात करना आसान होगा।

ES Lucene के साथ आता है,

अगर आप FTS कि अतिरिक्त प्रयास की आवश्यकता होगी के साथ Lucene चाहते हैं।

+0

पोस्टग्रेस डेटाबेस सेटअप के अलावा, पूर्ण पाठ खोज के लिए, क्या हमें तैनाती के लिए और कुछ चाहिए? – overexchange

+0

कोई अन्य घटक फिर से जरूरी नहीं है, इसका उपयोग करने से पहले पढ़ने और समझने के लिए काफी कुछ है .. – Jasen

+0

हाँ मैंने यह पढ़ा [यहां] (https://github.com/shamhub/Web-app/tree/ मास्टर/Elastic_search/Full_text_search_Postgres), लेकिन मुझे लगता है कि ल्यूसीन का उपयोग करके लोचदार खोज पोस्टग्रेस टेबल के विपरीत स्कीमा कम दस्तावेज़ों का समर्थन करती है। यही है ना – overexchange

संबंधित मुद्दे