我希望有一个使用PHP和MySQL的搜索引擎来执行这样的搜索:
我将在表格中的大约3个字段中搜索 bumblebee camaro 。
我希望结果返回包含两个文本的行(包含 bumblebee 和 camaro ),如果我搜索 bumblebee cam <也会返回相同的结果/ em>的
我使用的是MATCH AGAINST IN BOOLEAN MODE
,但结果是记录了 bumblebee ,记录了 bumblebee和camaro 。
我不希望只有 bumblebee 文本的记录,只有第二个。怎么做?
我的SQL是:MATCH (field1,field2,field3) AGAINST('+bumblebee cam' IN BOOLEAN MODE)
感谢您提前回复!
顺便说一下,我确实尝试拆分关键字,但它没有返回正确的答案,因为不知何故,来自field1的字bumblebee和来自field2的camaro,如果我拆分它。它将显示我不需要的记录
答案 0 :(得分:1)
MATCH (field1,field2,field3) AGAINST ('bumblebee cam' IN BOOLEAN MODE)
将搜索其中一个单词
MATCH (field1,field2,field3) AGAINST ('+bumblebee +cam' IN BOOLEAN MODE)
会搜索两个单词
MATCH (field1,field2,field3) AGAINST ('-bumblebee +cam' IN BOOLEAN MODE)
将搜索不带搜索的术语
只需拆分单词并使用+ - |构建它,无论需要什么。
检查文档:http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html