lucene校勘

lucene校勘,lucene,lucene.net,collation,icu,Lucene,Lucene.net,Collation,Icu,我们正在.net上使用lucene,我们需要一种方法来实现“排序规则不可知”的搜索。我不知道这是否是正确的术语,但我们需要的是,如果我有一个名为 [Žuf]我想通过输入[zuf]和其他方向找到他如果用户名是[zuf]并且我输入[Žuf]我仍然想找到他,总有一种手动方法可以将所有字符分条,并在这一点上对索引进行分类,但我更希望这样做更智能 有关于这个的消息吗 谢谢 almir与一个应用程序相结合,可以满足您的需要。Lucene for Java包含一个完成此任务的过滤器:ICUFoldingFil

我们正在.net上使用lucene,我们需要一种方法来实现“排序规则不可知”的搜索。我不知道这是否是正确的术语,但我们需要的是,如果我有一个名为 [Žuf]我想通过输入[zuf]和其他方向找到他如果用户名是[zuf]并且我输入[Žuf]我仍然想找到他,总有一种手动方法可以将所有字符分条,并在这一点上对索引进行分类,但我更希望这样做更智能

有关于这个的消息吗

谢谢
almir与一个应用程序相结合,可以满足您的需要。

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是什么:

将搜索词折叠应用于Unicode文本的标记过滤器,应用UTR#30个字符的折叠

此筛选器将报告中的以下折叠应用于unicode文本:

- 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
此外,将删除默认的可忽略项,并将文本规范化为NFKC。递归应用所有折叠、大小写折叠和规范化映射,以确保完全折叠和规范化的结果