PHP如何实现模糊搜索?

来源:百度知道 编辑:UC知道 时间:2024/05/20 15:02:39
请教一下PHP如何实现在MySQL中模糊搜索?
哪位朋友可以指点一下.
最好有一个例子,有简单源代码最好.

  1. mysql支持自然语言的全文搜索

  2. 对于字段的要求:
    只能是CHAR, VARCHAR, 或 TEXT 类型的字段
    表类型是MyISAM

  3. 在表建好,并导入数据后,建立一个fulltext index(索引)

  4. 用法:
    select 字段1,字段2,字段3, MATCH(要匹配的字段名)  AGAINST('keyword') as score from table having score>0

  5. 命中的每一行都会有个分数,分数越大表示结果越接近keyword,分数越低的就是越模糊的结果

mysql支持自然语言的全文搜索

对于字段的要求:
只能是CHAR, VARCHAR, 或 TEXT 类型的字段
表类型是MyISAM

在表建好,并导入数据后,建立一个fulltext index(索引)

用法:
select 字段1,字段2,字段3, MATCH(要匹配的字段名) AGAINST('keyword') as score from table having score>0

命中的每一行都会有个分数,分数越大表示结果越接近keyword,分数越低的就是越模糊的结果

如果是调用数据库搜索 创建查询的时候
语句就是 select * from 表 where 字段名 like %关键词%
这个关键词你可以在查询之前拆分成字或者词组。

用 like 可以搜索下php 模糊查询 like

// my数据库 - user 表
/*
id | name | sex
1 | 大毛 | 男
2 | 小毛 | 不男不女
3 | 红红 | 女
-------------------------
*/
$conn = mysql_connect('