2013-11-26 37 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

相關問題