我們有一個網站,用戶可以輸入城市的名稱。 Lucene.net 2.1.0.3是搜索引擎,用於查找已經創建的城市。按照配置,Lucene不承認Saint Jerome與St. Jerome相同,或者Phillip湖與Lac Phillip相同。配置lucene.net以識別同音字
關於擴大Lucene.Net搜索策略的任何提示?
我們有一個網站,用戶可以輸入城市的名稱。 Lucene.net 2.1.0.3是搜索引擎,用於查找已經創建的城市。按照配置,Lucene不承認Saint Jerome與St. Jerome相同,或者Phillip湖與Lac Phillip相同。配置lucene.net以識別同音字
關於擴大Lucene.Net搜索策略的任何提示?
我讀過一些關於這個同義詞和「聽起來像」(閱讀「我目前沒有這方面的經驗」)。對我來說,這似乎是兩個不同的問題:縮寫「同義詞」和「聽起來像」。
聽起來像
探測法是較舊的算法,這是專爲「美國」的名字mispellings。有一種改進的算法叫做'Double Metaphone',它解決了Soundex的一些抱怨。這個庫看起來很有希望: http://sourceforge.net/projects/phonetixnet/
縮寫同義詞
雖然現在看來有可能是一個通用的synonyming系統,我希望「花園城市」可能會「不積鎮」或「補丁堡」的同義詞。我猜你會用自己的域特定同義詞來獲得更好的結果。
似乎像'聖'('聖')和'山'('山')這樣的詞最好作爲同義詞處理。這裏有一篇文章提出了一個非常簡單的解決方案來定製同義詞:http://www.codeproject.com/KB/cs/lucene_custom_analyzer.aspx。
感謝您的幫助。我們正在使用代碼項目文章的作者不推薦使用的查詢分析器,但我相信我們可以適應某些事情 – kevinsky
這裏有一個類似的問題:http://stackoverflow.com/questions/3223637/how-to-perform-phonetic-and-aproximative-search-in-lucene-net –