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

किसी भी कारण से हेरोकू पर पोस्टग्रेएसक्यूएल की अंतर्निहित पूर्ण पाठ खोज का उपयोग नहीं किया जाता है?

संपादित करें, 2016 — दोनों क्यों नहीं?

यदि आप Postgres बनाम Lucene में रुचि रखते हैं, तो दोनों क्यों नहीं? ZomboDB देखें Postgres के लिए एक्सटेंशन, जो Elasticsearch को प्रथम श्रेणी के इंडेक्स प्रकार के रूप में एकीकृत करता है। अभी भी काफी प्रारंभिक परियोजना है लेकिन यह वास्तव में मेरे लिए आशाजनक लग रहा है।

(तकनीकी रूप से हरोकू पर उपलब्ध नहीं है, लेकिन फिर भी देखने लायक है।)

प्रकटीकरण:मैं Websolr का सह-संस्थापक हूं और बोनसाई हेरोकू ऐड-ऑन, इसलिए मेरा दृष्टिकोण ल्यूसीन के प्रति थोड़ा पक्षपाती है।

पोस्टग्रेज फुल-टेक्स्ट सर्च पर मेरा पढ़ा यह है कि यह सीधे उपयोग के मामलों के लिए बहुत ठोस है, लेकिन कई कारण हैं कि ल्यूसीन (और इस प्रकार सोलर और इलास्टिकसर्च) प्रदर्शन और कार्यक्षमता दोनों के मामले में बेहतर है।

शुरुआत के लिए, jpountz प्रश्न का वास्तव में उत्कृष्ट तकनीकी उत्तर प्रदान करता है, सोलर पोस्टग्रेज से इतना तेज क्यों है? यह वास्तव में पचाने के लिए कुछ पढ़ने लायक है।

मैंने हाल के RailsCast एपिसोड<पर भी टिप्पणी की /ए> पोस्टग्रेज फुल-टेक्स्ट सर्च बनाम सोलर के सापेक्ष फायदे और नुकसान की तुलना करना। मैं इसे यहां संक्षेप में बताता हूं:

पोस्टग्रेज के व्यावहारिक लाभ

  • किसी ऐसी मौजूदा सेवा का पुन:उपयोग करें जिसे आप पहले से चला रहे हैं, बजाय इसके कि आप कुछ और स्थापित करें और बनाए रखें (या इसके लिए भुगतान करें)।
  • काल्पनिक रूप से धीमी SQL से कहीं बेहतर LIKE ऑपरेटर।
  • डेटा को सिंक में रखने में कम परेशानी क्योंकि यह सब एक ही डेटाबेस में है — कुछ बाहरी डेटा सेवा API के साथ कोई एप्लिकेशन-स्तरीय एकीकरण नहीं है।

सौर (या लोचदार खोज) के लाभ

मेरे सिर के ऊपर से, किसी विशेष क्रम में नहीं…

स्पष्ट रूप से मुझे लगता है कि लुसीन पर आधारित एक समर्पित खोज इंजन यहां बेहतर विकल्प है। मूल रूप से, आप लुसीन को खोज विशेषज्ञता के वास्तविक मुक्त स्रोत भंडार के रूप में सोच सकते हैं।

लेकिन अगर आपका एकमात्र विकल्प LIKE . है ऑपरेटर, फिर पोस्टग्रेज पूर्ण-पाठ खोज एक निश्चित जीत है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल में माइग्रेशन में एसक्यूएल कैसे लिखें

  2. SQL क्वेरी में प्रत्येक समूह से पहले x परिणाम लौटाएं

  3. उन प्रश्नों को कैसे खोजें जो किसी अन्य क्वेरी को रोक रहे हैं?

  4. django में संख्यात्मक स्ट्रिंग्स द्वारा क्वेरी परिणाम ऑर्डर करना (बैकएंड पोस्टग्रेज करना)

  5. SQL:सबक्वेरी में बहुत अधिक कॉलम हैं