我在MySQL表中有三个字段 - 品牌,范围和型号以及大约8,000个型号,每个型号都有品牌和范围。
我正在创建一个jquery自动完成搜索,它使用json响应将10个最可能的匹配返回给用户输入。只要输入了至少3个字符,json查询就会将用户输入与Brand + Range + Model的串联相匹配。
该系统最初将由一小群人使用,但最终可能会被数千人使用,因此我正在努力找出执行此搜索的最有效方法。
我提出的三种可能的方法是:
这些方式中的哪一种(或者可能是不同的方式)是组合三个字段以便进行搜索的最快且最具扩展性的方式?
答案 0 :(得分:0)
答案 1 :(得分:0)
解决这个问题的常用方法是提供包含每个元素的选择框。
当选择品牌时,Ajax会填充范围范围。
当选择一个范围时,将填充模型,依此类推......
这可以避免拼写错误,例如“Madza”。
如果你描述的GUI和用例确实管理你的sql选择,你必须允许一个自由文本字段,你可以而且必须让你的用户键入“Mazda 6 spacewagon”然后根据你的3字母规则输入“Maz”将触发一个选择,也可能是
SELECT brand, range, model where brand LIKE "$brand%";
结果太过分散。