[英]how to implement search functionality in popup modal in asp.net mvc 5
[英]How do you implement search functionality using location information in ASP.NET?
我目前正在考虑使用 Lucene.NET 为我正在开发的 Web 应用程序提供搜索功能。 但是,我正在实现的搜索功能不仅需要进行全文搜索,还需要按与指定地址的接近程度对结果进行排名。
Lucene.NET 可以处理这个需求吗? 或者我是否需要先实现某种方式将点击分组到不同的位置(例如,小于 5 英里、小于 10 英里等),然后使用 Lucene.NET 对这些组中的项目进行排名? 还是有一种完全不同的方式让我俯瞰?
您可以实现自定义评分器以按距离顺序对结果进行排序,但您必须先过滤结果才能高效。 您可以使用边界框方法,在您地址周围 20 英里的正方形中过滤结果,然后应用排名。
如果我没记错的话,在 lucene in action book 中有一个距离相关算法的例子。 它是针对java lucene的,但是api是一样的,你可以很容易地翻译成c#或vb.net
您正在寻找的称为空间搜索。 我不确定是否有 Lucene.Net 的扩展来做到这一点,但你可以看看NHibernate Spatial 。 除此之外,这些查询通常在数据库中完成。 至少 PostGreSQL、MySQL 和 SQL Server 2008 具有空间查询功能。
经过一些额外的研究,我想我可能已经找到了答案。 我将使用 Lucene.NET 按其他因素过滤搜索结果,然后使用来自 Google 或 Yahoo 的地理编码信息按距离对结果进行排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.