हर कोई MySQL पूर्ण टेक्स्ट खोज का सुझाव दे रहा है, हालांकि आपको एक बड़ी चेतावनी के बारे में पता होना चाहिए। फुलटेक्स्ट सर्च इंजन केवल MyISAM इंजन के लिए उपलब्ध है (InnoDB नहीं, जो कि इसकी संदर्भात्मक अखंडता और ACID अनुपालन के कारण सबसे अधिक इस्तेमाल किया जाने वाला इंजन है)।
तो आपके पास कुछ विकल्प हैं:
1. सबसे आसान तरीका कण वृक्ष द्वारा रेखांकित किया गया है। . आप पूरी तरह से शुद्ध एसक्यूएल से रैंक की गई खोजों को प्राप्त कर सकते हैं (कोई पूर्ण टेक्स्ट नहीं, कुछ भी नहीं)। नीचे दी गई SQL क्वेरी खोज फ़ील्ड में एक स्ट्रिंग की घटनाओं की संख्या के आधार पर एक तालिका और रैंक परिणाम खोजेगी:
SELECT
SUM(((LENGTH(p.body) - LENGTH(REPLACE(p.body, 'term', '')))/4) +
((LENGTH(p.body) - LENGTH(REPLACE(p.body, 'search', '')))/6))
AS Occurrences
FROM
posts AS p
GROUP BY
p.id
ORDER BY
Occurrences DESC
थोड़ा और स्पष्टता प्रदान करने के लिए उनके उदाहरण को संपादित किया
उपरोक्त SQL क्वेरी में बदलाव, WHERE स्टेटमेंट्स (WHERE p.body LIKE '%whatever%you%want') आदि को जोड़ने से शायद आपको वही मिलेगा जो आपको चाहिए।
2. आप पूर्ण पाठ का समर्थन करने के लिए अपने डेटाबेस स्कीमा को बदल सकते हैं। अक्सर Sphinx Fulltext Search Engine जैसे प्लग इन इंस्टॉल किए बिना InnoDB संदर्भात्मक अखंडता, ACID अनुपालन और गति बनाए रखने के लिए क्या किया जाता है MySQL के लिए उद्धरण डेटा को अपनी तालिका में विभाजित करना है। असल में आपके पास एक टेबल कोट्स होगा जो एक इनो डीबी टेबल है, जो आपके टेक्स्ट फ़ील्ड "डेटा" के बजाय आपके पास एक संदर्भ "quote_data_id" है जो एक Quote_Data टेबल पर आईडी को इंगित करता है जो एक माईसाम टेबल है। आप MyISAM टेबल पर अपना पूरा टेक्स्ट कर सकते हैं, अपने InnoDB टेबल के साथ लौटाए गए आईडी में शामिल हो सकते हैं और आपके पास अपने परिणाम हो सकते हैं।
3. Sphinx इंस्टॉल करें . इसके साथ शुभकामनाएँ।
आपने जो वर्णन किया है, उसे देखते हुए मैं अत्यधिक अनुशंसा करते हैं कि आप मेरे द्वारा प्रस्तुत पहला दृष्टिकोण अपनाएं क्योंकि आपके पास एक साधारण डेटाबेस संचालित साइट है। पहला उपाय सरल है, काम जल्दी हो जाता है। ल्यूसीन सेटअप करने के लिए एक कुतिया होगा, खासकर यदि आप इसे डेटाबेस के साथ एकीकृत करना चाहते हैं क्योंकि ल्यूसीन मुख्य रूप से इंडेक्स फाइलों के लिए डिज़ाइन किया गया है डेटाबेस नहीं। Google कस्टम साइट खोज आपकी साइट को बहुत अधिक प्रतिष्ठा खो देता है (आपको शौकिया और हैक किया हुआ दिखता है), और MySQL का फुलटेक्स्ट सबसे अधिक संभावना है कि आप अपने डेटाबेस स्कीमा को बदल देंगे।