के साथ कंटेनटेबल और बुलियन तर्क वाले एकाधिक कॉलम मेरे पास एक बहुत ही बुनियादी परिदृश्य है, लेकिन जो मैंने पढ़ा है, वह ऐसा लगता है कि SQL सर्वर पूर्ण टेक्स्ट कैटलॉग और अनुक्रमणिका का उपयोग करना आसान नहीं है।पूर्ण टेक्स्ट इंडेक्स
मेरे पास 2 कॉलम, पहला और अंतिम नाम है। मैं उन पर पूर्ण-पाठ खोज का समर्थन करना चाहता हूं जैसे कि अगर कोई व्यक्ति "जॉन स्मिथ" पर एक मैच वाले लोगों को दोनों पहले और आखिरी बार आते हैं।
हालांकि एकाधिक कॉलम में एक इंडेक्स बनाना आसान है, और कई कॉलम खोजना आसान है, स्कोरिंग एकाधिक कॉलम को प्रतिबिंबित नहीं करती है।
SELECT [Key], Rank
FROM CONTAINSTABLE([User], (FirstName,LastName), '<CLAUSE_HERE>')
- तो CLAUSE_HERE है "जॉन स्मिथ" मैं कोई परिणाम नहीं मिलता है, क्योंकि उस वाक्यांश या तो क्षेत्र में मौजूद नहीं है।
- यदि यह "जॉन या स्मिथ" है तो मुझे सभी उपयोगकर्ताओं को या तो किसी भी क्षेत्र में नाम मिलता है, जो एक अनुपयोगी क्रम में क्रमबद्ध होता है।
- यदि यह "जॉन और स्मिथ" है तो मुझे कोई परिणाम नहीं मिलता है, क्योंकि न तो फ़ील्ड में दोनों शब्द होते हैं।
लगता है जैसे एकमात्र समाधान एक प्रश्न है कि प्रत्येक क्षेत्र पर containstable
चलाता autogenerate के लिए है, कुछ गणित करता है, स्कोर का योग, आदि कि ध्वनि सही है? क्या इसके चारों ओर एक आसान तरीका है? मेरी वास्तविक क्वेरी में इसके लिए बहुत अधिक फ़ील्ड हैं - यह एक सरल उदाहरण है।
पूरी तरह से काम किया !! पूर्ण पाठ यह स्वचालित रूप से क्यों नहीं करता है? मैंने सोचा कि एकाधिक कॉलम पर पूर्ण पाठ लागू करना इस आउट ऑफ़ द बॉक्स की तरह काम करेगा। अनुमान नहीं। –