我讨厌数据库上的 4000 多个广告。我在字段标题、模型和描述上使用 FULLTEXT 索引。
在 MySQL 中,我将 ft_min_word_len 的值从 4 更改为 3。
实际上,并不是所有的结果都匹配。
这是一个简单的请求:
SELECT * ,
MATCH (
anno_modele, anno_titre, anno_desc
)
AGAINST (
"330"
) AS relevance
FROM (
`annonce`
JOIN possede
USING ( `anno_id` )
JOIN annonceur
USING ( `ann_id` )
JOIN cat_lang
USING ( `cat_id` )
JOIN lang_pays
USING ( `pays_id` )
JOIN marque
USING ( `mar_id` )
WHERE `mar_id` =867
AND MATCH (
anno_modele, anno_titre, anno_desc
)
AGAINST (
" 330"
)
AND `cat_id`
IN (
'3'
)
AND `anno_active` =1
AND `anno_mode` =1
AND `lang_pays`.`lang_id` = '3'
GROUP BY `anno_id`
ORDER BY `anno_prix` , `relevance` DESC
LIMIT 15
这与我匹配 3 个结果。330 只是字段“anno_model”。
如果 if do a like anno_modele LIKE '%330%'
,它会匹配我 9 个结果。
以下是 MATCH AGAINST 匹配的结果:
以下是 LIKE 匹配的结果
如您所见,当它存在空格时...结果与 MACTH AGAINST 不匹配
是我要求的问题还是其他问题?
请帮帮我=)