मुझे नहीं लगता कि अगर मैं आपके प्रश्न को सही ढंग से समझता हूं तो आपको किसी भी समस्या का अनुभव करना चाहिए। मैं अक्सर पूर्ण-पाठ और बी-पेड़ को अच्छे परिणामों के साथ जोड़ता हूं। जब पूर्ण-पाठ खोज की जाती है, तो यह प्रत्येक सीमांकित "शब्द" को एक सूचकांक के रूप में देख रहा है, जैसे कि यह केवल एक शब्द के साथ एक अनुक्रमित कॉलम होगा (कुछ sql आँकड़े दें या लें)। किसी भी तरह से, SQL को इसके निष्पादन पथ का पता लगाना चाहिए। पूर्ण पाठ खोज पूर्णांक/तारीख मानों की तुलना करने का पक्षधर नहीं है - सीमांकित डेटा के मिलान स्ट्रिंग्स के लिए अधिक।
मुझे लगता है कि आप अपने लाभ के लिए बी-पेड़ अवधारणा की दक्षता का उपयोग करना जारी रखना चाहेंगे। पूर्ण-पाठ कैटलॉग अनुक्रमणिका खोज मेरे लिए एक और अधिक दौर की खोज प्रतीत होती है, हालांकि स्ट्रिंग्स को पार्स/तुलना करने के लिए "LIKE" का उपयोग करने वाली स्थितियों में बहुत अधिक फायदेमंद है।
मैं क्या करता हूं:
SELECT * FROM MyTable
WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
AND start_date > ###;
(देखें सिंटैक्स जानकारी के लिए यह एमएसडीएन लेख )
पी.एस. जब पूर्ण-पाठ-अनुक्रमण पूर्णांक डेटा हो, तो स्टॉपलिस्ट को बंद कर दें ताकि कैटलॉग अनुक्रमण में उन मानों को अनदेखा न किया जाए।
आशा है कि इसमें से कोई भी मदद करता है! (किसी ने उत्तर नहीं दिया तो मैंने सोचा कि मैं अपना अनुभव दूंगा)