【发布时间】:2014-05-13 11:19:05
【问题描述】:
我正在搜索一个包含大量车牌记录的数据库。我打算使用 Apache Solr 来实现搜索功能。我不知道如何调用我要实现的搜索功能。但是让我向您解释一下我的要求:
当人们搜索时,我希望 Solr 用某些数字代替字母? 例如。
12 = R
13 = B
4 = A
11 = H
等等等等?
因此,例如,当有人搜索“John”时,将提供搜索结果,其中应该包含来自可用车牌列表的以下建议。
JO11 NYJ - 搜索应该用 11 代替 H!
例如,看看http://www.privatenumberplates.com/list/JOHN
我不确定如何在 Solr 中完成这项工作,任何开始在 Solr 中处理此问题的想法都会很棒!什么应该最适合使用?同义词、soundex、模糊还是其他?应该使用哪些分析器/词干库?
【问题讨论】:
-
当我搜索
John时,它还应该匹配什么?它还应该匹配John和Jo11n和...吗? -
您可以在 UI 端修改此查询。例如。当用户输入 John - 您创建这样的查询 q=title:John OR title:Jo11n OR title:Jo11* (类似这样)。所以我的想法是,您需要在搜索端进行此操作
-
@cheffe 是的,它应该匹配 John 和 Jo11n 以及其他听起来像 John 的术语。
-
@Mysterion 你的想法很酷!但我想看看我们是否可以在尝试您的建议之前从 Solr 方面获得结果。您是否检查了我在原始描述中提供的示例站点?
-
@Krunal,是的。我已经检查了这个网站。
标签: search solr full-text-search solr4