Lucene.Net在tokenizer中包含连字符

时间:2013-10-27 19:16:16

标签: c# .net lucene

在Lucene,我希望对产品进行索引 - 据我所知,T恤等字样被标记为“t”和“衬衫”。

我希望搜索“衬衫”与T恤不匹配 - 即 - 将“T恤”视为单一代币。

实现这一目标的最简单方法是什么?

干杯。

1 个答案:

答案 0 :(得分:1)

您可以更新StandardTokenizer的规则并创建自定义规则。

要执行此操作,请通过更改原始规则,使用StandardTokenizerImpl重新生成JFlex类。 (您需要将输出转换为c#)

然后获取StandardTokenizer的代码并更改它以使用JSFlex中新生成的TokenizerImpl。

如果您不需要StandardTokenizer中的现有规则,您也可以尝试使用WhiteSpaceTokenizer