【发布时间】:2015-07-13 14:19:17
【问题描述】:
我有一个表,其中包含一个名为 title 的列。
输入以字符串的形式从用户那里获取。字符串实际上是一组以空格分隔的关键字。
我想搜索整个表,查找标题字段包含用户输入的字符串中存在的一些关键字的记录,结果需要按匹配顺序显示。
例如:
RecordA -> title -> "apple mango grapes banana"
RecordB -> title -> "apple lemon orange"
RecordC -> title -> "banana"
RecordD -> title -> "lemon mango grapes"
假设用户输入的字符串是:“apple mango orange” 然后我要按顺序从php页面得到结果
Record A // 2 matches
Record B // 2 matches
Record D // 1 match
Record C // 0 match
建议我在 php 中执行此操作的有效方法..
注意:数据库在 Mysql 中。无法修改为表格添加全文搜索索引。
【问题讨论】:
-
使用数据库可能会很慢,因为您必须请求所有表,并在 PHP 中自行解析。如果你要使用大量数据,你应该使用 SolR,它就是为做这种事情而设计的......
-
这取决于您的数据集,您的数据大小是多少? 10、100、1 000、10 000、1 000 000 行... ?在单词上,每行有多少个单词? 1-5, 1-20... ?
-
目前已经超过 100 万行,并且还在扩展中......
-
对不起.. 1000000(100 万)
-
100 万行有点小,我猜你不会想与其他系统集成,所以慢慢来