2011-09-14 7 views
1

私たちは.net上でluceneを使用しています。「照合不可知論者」である検索を実装する方法が必要です。これが適切な用語かどうかわかりませんが、私が必要とするものは [Žuf]ユーザー名が[zuf]で、私が[Žuf]と入力した場合でも、彼を見つけることができるようになりたいと思っています。すべてのキャラクターとこれに関連したインデックスがありますが、私はよりスマートなスマートなものを好むでしょうlucene照合

これには何かがありますか?

おかげ アウミール

答えて

2

Lucene for Javaには、ジョブを実行するフィルタが含まれています。ICUFoldingFilter(http://lucene.apache.org/core/3_6_1/api/all/org/apache/lucene/analysis/icu/ICUFoldingFilter.html) mavenパッケージlucene-icu(少なくともバージョン3.6.1以降)。 Lucene.netにこのようなライブラリが存在するかどうかはわかりませんが、ICUに基づいているので、.NETでコードを書き直すことができるはずです。

は何ICUFoldingFilter:UTR#30文字フォールディングからフォールディングを適用し、Unicodeテキストに検索用語の折りたたみを適用

A TokenFilter。

- Accent removal 
- Case folding 
- Canonical duplicates folding 
- Dashes folding 
- Diacritic removal (including stroke, hook, descender) 
- Greek letterforms folding 
- Han Radical folding 
- Hebrew Alternates folding 
- Jamo folding 
- Letterforms folding 
- Math symbol folding 
- Multigraph Expansions: All 
- Native digit folding 
- No-break folding 
- Overline folding 
- Positional forms folding 
- Small forms folding 
- Space folding 
- Spacing Accents folding 
- Subscript folding 
- Superscript folding 
- Suzhou Numeral folding 
- Symbol folding 
- Underline folding 
- Vertical forms folding 
- Width folding 

また、デフォルトのIgnorablesが除去され、そしてテキストがNFKCに正規化されている:

このフィルタは、Unicodeテキストにレポートから、次のフォールディングを適用します。すべての折り畳み、大文字/小文字の折り畳み、正規化マッピングは、完全に折り畳まれ正規化された結果を確実にするために再帰的に適用されます。