我有一个表,其中包含某些属性,例如名称和地址。在搜索字段中,我想让系统用户输入他们对这些人的了解并将结果返回到表格中。显然,我确实希望最合适的结果放在首位。
- 排名应该在 SQL 命令中完成还是有其他更好的方法?
- 有谁知道根据最高一致性对结果进行排序/排名的好方法?我基本上确实希望这个人出现在最符合搜索条件的顶部。
你可以在这里看到一个例子: http://sqlfiddle.com/#!2/19e9ad
感谢您的帮助!
(我目前确实在使用 SQL Server,但如有任何帮助,我们将不胜感激。)
最佳答案
您可能想要检查全文索引和搜索 - 它们具有排名选项,可以为您完成这项工作:
...和搜索功能信息:
或者,您也可以制定自己的解决方案,例如解析用户输入并逐字匹配,然后提升匹配更多单词的结果,准确的单词排序等。但是您需要自己处理许多情况(例如“纽约”等多词城市)。
关于具有多个属性的 SQL 排序(按一致性排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632202/