2012-07-17 12 views
5

मुझे निम्न पंक्तियों को निम्न के साथ वापस नहीं मिल रहा है, और मुझे नहीं पता कि क्यों। क्या मैंने फुलटेक्स्ट इंडेक्स को सही तरीके से परिभाषित किया है?mysql fulltext खोज कोई रिकॉर्ड नहीं लौटा

CREATE TABLE `client_contact` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`first_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, 
`last_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, 
`email` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, 
`phone` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, 
`company` int(11) DEFAULT NULL, 
`billing_address` text COLLATE utf8_unicode_ci, 
PRIMARY KEY (`id`), 
FULLTEXT KEY `client_search` (`first_name`,`last_name`,`email`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 


INSERT INTO `client_contact` (`first_name`, `last_name`, `email`, `phone`, `company`, `billing_address`) VALUES 
('John', 'Smith', '[email protected]', '123456', 1, '1 Any Street'), 
('Mary', 'Smith', 'mary.sm[email protected]', '123456', 1, '1 Any Street'); 


SELECT cl.* 
FROM client_contact cl 
WHERE MATCH(cl.first_name, cl.last_name, cl.email) AGAINST ('Smith') 

SQL Fiddle here

उत्तर

8

इसका कारण यह है कीवर्ड Smith सभी पंक्तियों में मौजूद है। MySQL manual कहता है "50% या अधिक पंक्तियों में मौजूद शब्द आम मानते हैं और मेल नहीं खाते हैं"।

+3

यह कुछ नया है! : ओ उसे नहीं पता था :) दिलचस्प। धन्यवाद! –

+0

मुझे यह नहीं पता था :) या तो बहुत बहुत धन्यवाद! – Wintermute

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