我是Lucene的新手,沒有足夠的時間去瀏覽整個文檔。 我們使用Lucene熒光筆來突出顯示匹配。據我所知,Lucene本身使用JFlex引擎。 當前的任務需要引入新的語言支持。根據要求,像ειναι這樣的詞應該與ενναι匹配,反之亦然。人們在輸入信息時通常會避免使用重音,因此帶重音的單詞必須與沒有重音的同一單詞相匹配。 所以,我的問題是我們是否可以在Lucene中指定某處或JFlex字符轉換規則,如U + 038A-> U + 03B9? 任何幫助將不勝感激。Lucene和或JFlex中的字符轉換規則
0
A
回答
0
不知道有關字符轉換...但你可以做兩件事情:
施加ISOLatin1AccentFilter(在你的分析儀),這樣的話帶重音符號然後視爲非重音的搜索匹配。 http://www.dotlucene.net/documentation/api/Lucene.Net.Analysis.ISOLatin1AccentFilter.html
使用Lucene的模糊搜索 http://lucene.apache.org/core/old_versioned_docs/versions/2_9_1/queryparsersyntax.html#Fuzzy搜索
從我所用的東西,它不是一個簡單的配置設置。 Solr可能有類似的東西。 Lucene是一個裸機庫,通常可以靈活地確定您的「業務邏輯所在」......搜索,分析器/過濾器或索引設計本身。
相關問題
- 1. 字符*轉換和重疊規則
- 2. JFlex正則表達式與詞法規則中的關鍵字
- 3. PHP字符串轉換規則
- 4. 推導字符串轉換規則
- 5. 錯誤的JFlex規則 - 匹配錯誤的規則
- 6. 利用子轉換規則轉換字符串
- 7. R:排序和轉換不規則時間字符串
- 8. 有沒有java字符串文字的jflex規範?
- 9. C++字符串文字轉義規則
- 10. 將htaccess規則轉換爲nginx規則
- 11. htaccess規則(mod_rewrite)轉換爲web.config規則
- 12. IIS規則轉換爲.htaccess規則
- 13. JFlex的和重音符號
- 14. 根據一些規則替換Ruby字符串中的字符
- 15. 夏令時規則和轉換
- 16. 轉換規則轉換成列表
- 17. 重寫規則url字符替換
- 18. java中的類型轉換規則
- 19. JFlex的字符串正則表達式奇怪的行爲
- 20. C#如何將不規則的日期和時間字符串轉換爲DateTime?
- 21. 字符串轉換爲樹表示與規則
- 22. htaccess將重寫規則轉換爲土耳其文字符
- 23. 轉換不規則字符串時間跨度在C#
- 24. 阿帕奇重寫規則轉換空間,連字符
- 25. R將不規則字符轉換爲日期
- 26. Logback轉換規則參數
- 27. golang類型轉換規則
- 28. XML-JSON轉換器規則
- 29. 轉換日期和/或時間從字符串轉換失敗
- 30. 轉換日期和/或時間從字符串轉換失敗
感謝您的回覆,但這不完全是我一直在尋找的。似乎更好的解決方案將是在jflex文件中指定新的令牌類型,只要字將被分類 - 應用轉換規則。 –
您確定ISOLatin1AccentFilter不能幫助您嗎?如果您在索引和搜索時都使用它,您可以通過其重音和非重音變化找到重音詞,這正是您想要的。 (雖然你也可以通過搜索重音詞找到一個沒有出現的單詞 - 是這個問題嗎?) –