1

.netでluceneを使用しており、「照合にとらわれない」検索を実装する方法が必要です。これが正しい用語かどうかはわかりませんが、必要なのは[Žuf]というユーザーがいる場合です。 [zuf]を選択することで彼を見つけることができます。また、ユーザー名が[zuf]で、[Žuf]と入力した場合は、他の方向でも彼を見つけることができます。これですが、もっと賢くしたいです

これに関するアイデアはありますか?

ありがとうアルミール

4

2 に答える 2

2

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

ICUFoldingFilterとは:

検索用語の折りたたみをUnicodeテキストに適用し、UTR#30文字の折りたたみからの折りたたみを適用する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

さらに、Default Ignorablesが削除され、テキストはNFKCに正規化されます。すべての折りたたみ、ケースの折りたたみ、および正規化のマッピングが再帰的に適用され、完全に折りたたまれて正規化された結果が保証されます。

于 2012-10-08T09:00:34.990 に答える
1

ASCIIFoldingFilterを見てください。LowerCaseFilterと組み合わせると、必要なことを実行できます。

于 2011-09-14T18:14:08.143 に答える