2013-11-26 36 views
0

我们有一个基于Web的Web应用程序,它需要从一个大名字数据库中搜索名称,该数据库大约有200万个名字。这也是我们要求它实时完成的。我们搜索并发现Lucene可以快速搜索。我们在交易中拥有不同的名称,或者可能是完整名称的一部分,或者可能是拼写错误。用户可以选择提供所需匹配精度的百分比。我们使用SQL Server 2008 R2数据库。如果任何用户有类似需求的先前经验,将不胜感激您的反馈/解决方案。使用Lucene进行不同组合的搜索名称

问候

+0

听起来像你应该索引你的名字数据库作为Lucene字典和使用SpellChecker。这允许您设置匹配的准确性,并且还可以在您的案例中建议相似的单词或名称。 – everreadyeddy

回答

0

这看起来像一个完全成熟的企业的商业项目,我给你在这里比Lucene的技术问题的要求。是的,Lucene可以处理该问题。您需要使用重叠的可变长度char n-gram索引编写特殊的标记器,并将这些n-grams与lucene“document”进行索引。在查询阶段,您需要将输入名称分解为n-gram字符并使用Lucene进行搜索。

+0

此要求是应用程序的一部分。我是Lucene的新手,有没有办法,我可以得到帮助,或者有人开发出类似的解决方案。我尝试使用数据库,但花费的时间比预期的多。由于搜索工作是在前台实时完成的,处理时间是一个需要考虑的因素。 – user2979031

+0

答案很长。首先,我想详细阐述一下我上面提出的建议,然后我意识到我可以把一篇文章链接解释为我上面提出的建议。这里是链接:http://www.opensourceconnections.com/2013/08/21/name-search-in-solr/ – Arun

+0

这正是我想要在我的应用程序,但我如何获得代码或解决方案。除了我不确定,如果它也检查错误拼写的名字,我们也可以提供所需匹配的百分比。 Arun有办法获得编码/配置细节,我们非常感谢这种支持。 – user2979031

相关问题