我有4个文本字段一个表,我目前使用PHP/MySQL的搜索
WHERE `$field` LIKE '%$value%'
通过场比赛的号码直接每个字段和排序的结果与搜索。这是我编写代码的最有效的方法(因为我的经验非常有限,但是我意识到这不是用于用户界面的最有效的方法)
我只是想知道如何创建更多用户我一直在阅读关于不同类型的表格搜索,但我很困惑哪些是我的表格最好的方法
搜索表单使用所有4个字段,只有一个需要填写,我希望按相关性排序,但是这样做是可以实现的。我不想因为拼写错误和其他原因而得到完全匹配的结果。
下面是我正在使用的表格:
MySQL>EXPLAIN `so_customer_isam`;
-
Type: MyISAM
Collation: UTF8_bin
Primary Key: `id`
-
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| last_name | varchar(35) | NO | | NULL | |
| first_name | varchar(35) | NO | | NULL | |
| company | varchar(35) | YES | | NULL | |
| phone | varchar(35) | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
那么你的关于按相关性排序的问题? –
它会在给定时间在多个字段上搜索,我想是的。正如Fabien指出的那样,如果你能详细说明相关性。开始我会说帮助搜索实现索引的方式。可能会去搜索名称为mysql的soundex搜索。但这将取决于您所指的用例以及您的应用将处理的数据量。 – jaipster
我想我问的是“我是否应该尝试使用全文搜索,因为我一次只搜索单个词条?”我试图确定搜索单字字段格式的最佳方法。通过“相关性”我的意思是[搜索:“克里斯布朗”] =克里斯布朗>克里斯托弗布朗>克里斯布朗>克里斯布朗>布朗>克里斯。我目前在这个表中有400个客户,并且会增加大约平均值。每天1次左右。所以它不是一个大型的数据库,所有的搜索都是在本地网络上完成的。 – Dexter