首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用typeahead按最接近的字符串排序?

如何使用typeahead按最接近的字符串排序?
EN

Stack Overflow用户
提问于 2014-03-04 00:22:27
回答 1查看 898关注 0票数 2

我在如何控制猎犬和Twitter typeahead对Typeahead中显示的结果进行排序的方式上遇到了一些问题。

我使用typeahead来显示建议的地址和城市,这意味着用户可以搜索“纽约”、“曼哈顿纽约”或“55街曼哈顿纽约”。

当用户搜索"New York“时,我更喜欢Typeahead给出的第一个建议是"New York”,这是最接近的匹配。目前,如果用户搜索例如“纽约”,第一个建议是"55h大道曼哈顿纽约“,"22街曼哈顿纽约”等。

有谁能告诉我如何实现这种排序的正确方向吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-04 01:18:29

我可能搞错了猎犬的用途。我认为猎犬是用来以一种聪明的方式对结果进行排序的,并且有一种方法可以通过猎犬选择排序算法。我想我错了。

解决方案是在获取它之前对整个事情进行排序。在这种情况下,在数据库的SQL查询期间。我用以下方式订购了我想要的东西:

代码语言:javascript
复制
SELECT address, city FROM house WHERE city LIKE :query OR address LIKE :query GROUP BY city ORDER BY CASE 
                                    WHEN city LIKE :query1 THEN 0
                                    WHEN city LIKE :query2 THEN 1
                                    WHEN city LIKE :query3 THEN 2
                                    ELSE 3
                                    END, city

其中query1、query2和query3是参数的变体。例如"cityName%“、"% %CITYNAME%%”、"% cityName“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22151857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档