【发布时间】:2017-03-21 09:53:26
【问题描述】:
我正在为 REST API 实现搜索功能,这是我第一次处理大型数据库搜索。
My MySQL Location 表有以下列
| id | name | email | phone | postcode | address | verified |
用户可以通过name, email, phone, postcode or address搜索位置。
输入搜索字符串不分隔不同的字段,即只有一个输入文本框,并且该字符串与上面的每个可搜索字段匹配(这是故意想要的)。
到目前为止,我一直在做的是获取输入字符串并为每个可搜索列运行 MATCH ... AGAINST 查询,合并结果并返回。
但是,我最好创建一个包含两列的支持索引表 (location_query)。
| location_id | match_query |
添加位置后,我可以向 location_query 添加一个新行,其值类似于
0 | {NAME} {EMAIL} {PHONE} {POSTCODE} {ADDRESS}
然后简单地在 match_query 列上运行 FULLTEXT 搜索?
这行得通吗?
【问题讨论】:
标签: php mysql sql full-text-search full-text-indexing