Mysql全文搜索

时间:2010-06-24 20:30:52

标签: mysql full-text-search

此查询仅针对t1.ads_category中可用的数据运行,而不是针对其他两列:

SELECT t1.id,
       t1.ads_type,
       t1.ads_category,
       t1.ads_subcat,
       t1.ads_title,
       t1.ads_title,
       t1.ads_description,
       t1.ads_city,
       t1.ads_location,
       t2.ads_image,
       t2.ads_activate,
       t2.postads_id 
  FROM postads t1 
  JOIN nextpostads t2 ON t1.id = t2.postads_id 
 WHERE MATCH(t1.ads_category,
             t1.ads_title, 
             t1.ads_description) AGAINST ('".$search_text."') 
   AND t1.ads_city='".strtolower($city_name_url[0])."' 
   AND  t1.ads_location='".$location_val."' 
   AND t2.ads_activate='Yes'

这有什么问题? FULLTEXT SEARCH有什么问题。我在FULLTEXT INDEX看到基数是23。我是FULLTEXT的新手。

1 个答案:

答案 0 :(得分:1)

重新发布我对转贴的回答; - )

您需要在组合字段ads_category,ads_title和ads_description上创建全文索引,而不是在每个列上创建。

E.g:

ALTER TABLE `postads` ADD FULLTEXT (
`ads_category` ,
`ads_title`,
`ads_description`
);