高级搜索串联字符串

时间:2012-12-05 11:05:15

标签: mysql sql codeigniter google-maps google-maps-api-3

我正在为网站创建搜索功能,我需要从输入中获取用户的完整地址,例如“地址32,城市,地区,国家/地区,邮政编码”(此订单不需要)并返回可用餐厅这是该地区的。 我有一个表“地址”,其中有上述每个元素的字段。 我想连接数据库中的用户地址,并通过SQL REGEXP的帮助将其与用户的输入进行比较。 是否有任何其他近似的SQL搜索可以给我这个或者你可以建议我采用不同的方法吗? 一位朋友建议使用(http://www.simonemms.com/2011/02/08/codeigniter-solr/)然而对其进行小规模研究仍然存在问题。

1 个答案:

答案 0 :(得分:0)

在SQL中将地址连接在一起的麻烦是你会错过使用索引。因此它会很慢。如果您不知道输入元素的顺序,那么它与数据库中连接的内容(可能是不同的顺序)相匹配的可能性很小。

我会建议大部分地址项,将它们分成不同的表(即区域表,另一个国家/地区等),然后将ID存储在users表的列中。

对于搜索,确定哪些搜索字段与哪个实际字段一起使用,然后加入这些字段以查找真实地址。

也意味着您可以更轻松地识别拼写错误。