2012-11-26 41 views
0

我是Lucene的新手,沒有足夠的時間去瀏覽整個文檔。 我們使用Lucene熒光筆來突出顯示匹配。據我所知,Lucene本身使用JFlex引擎。 當前的任務需要引入新的語言支持。根據要求,像ειναι這樣的詞應該與ενναι匹配,反之亦然。人們在輸入信息時通常會避免使用重音,因此帶重音的單詞必須與沒有重音的同一單詞相匹配。 所以,我的問題是我們是否可以在Lucene中指定某處或JFlex字符轉換規則,如U + 038A-> U + 03B9? 任何幫助將不勝感激。Lucene和或JFlex中的字符轉換規則

回答

0

不知道有關字符轉換...但你可以做兩件事情:

從我所用的東西,它不是一個簡單的配置設置。 Solr可能有類似的東西。 Lucene是一個裸機庫,通常可以靈活地確定您的「業務邏輯所在」......搜索,分析器/過濾器或索引設計本身。

+0

感謝您的回覆,但這不完全是我一直在尋找的。似乎更好的解決方案將是在jflex文件中指定新的令牌類型,只要字將被分類 - 應用轉換規則。 –

+0

您確定ISOLatin1AccentFilter不能幫助您嗎?如果您在索引和搜索時都使用它,您可以通過其重音和非重音變化找到重音詞,這正是您想要的。 (雖然你也可以通過搜索重音詞找到一個沒有出現的單詞 - 是這個問題嗎?) –