2010-04-15 103 views
7

我已經爲我的應用程序實現了lucene,除非您引入了類似日文字符的東西,否則它工作得很好。Lucene搜索日文字符

問題是,如果我有日語字符串こんにちは,このバイネイです,我搜索こ是第一個字符比它運作良好,而如果我在搜索令牌搜索中使用多個日文字符(こんにち)失敗並且沒有找到文件。

在lucene中是否支持日語字符?有什麼設置可以使它工作?

+0

分析什麼是您使用? – 2010-04-15 07:21:24

+0

@codeka,我正在使用StandardAnalyzer – 2010-04-15 07:25:49

回答

3

我不認爲有可以是分析儀,將適用於所有語言。問題在於不同的語言對詞邊界和詞幹有不同的規則(例如,泰語不使用的空格來分隔詞)。或者如果有的話,我當然不想成爲維護者!

您需要做的是將文本塊「標記」爲一種語言或另一種語言,並使用正確的分析器來處理該特定語言。您可以嘗試通過做字符分析來自動檢測語言(即主要使用日文片假名的文本可能是日文)

+0

@codeka,我是否必須搜索指定analayzer用於某些單詞(英語爲A-Z),日語爲(こ - す),然後通過提供的文本查找要使用的分析儀。 – 2010-04-15 07:58:18

4

lucene的內置分析器不支持日語。

您需要安裝一些分析儀,如sen,這是java端口mecab,頗受歡迎的日語分析儀,它的速度很快。

有2種稱爲

  1. CJKAnalyzer子類型,支持中國和朝鮮太,和使用雙克方法
  2. JapaneseAnalyzer,其僅支持日語,使用形態學分析儀和應該是非常快速。
+0

@ S.Mark,用戶可以在他們的文本字段中有任何東西,我該如何決定使用哪個分析器。是否有一些通用的分析儀可以適用於所有語言 – 2010-04-15 07:34:36

+0

@Pranali,對於這種情況,雙語法更好。 – YOU 2010-04-15 08:00:34

+0

@ S.Mark,您是否有任何示例代碼或鏈接來實現雙向克隆方法。這需要什麼分析器,我該如何配置它 – 2010-04-15 08:15:40

0

您應該使用最近在Lucene 3.6.0中發佈的新日文分析器。他們基於Kuromoji最近捐贈給Lucene的形態分析儀LUCENE-3305

文檔是有點稀疏寫這篇文章的,所以這裏有幾個鏈接...

  • 如果使用Solr的,這裏有一個sample schema,將在Websolr工作。
  • 在2012年4月20日的英語會議上,我的presentation的幻燈片中,強調分析日語的全文搜索。

(這是所有的Lucene的Java版本。)