在Lucene,我希望对产品进行索引 - 据我所知,T恤等字样被标记为“t”和“衬衫”。
我希望搜索“衬衫”与T恤不匹配 - 即 - 将“T恤”视为单一代币。
实现这一目标的最简单方法是什么?
干杯。
答案 0 :(得分:1)
您可以更新StandardTokenizer
的规则并创建自定义规则。
要执行此操作,请通过更改原始规则,使用StandardTokenizerImpl重新生成JFlex类。 (您需要将输出转换为c#)
然后获取StandardTokenizer的代码并更改它以使用JSFlex中新生成的TokenizerImpl。
如果您不需要StandardTokenizer中的现有规则,您也可以尝试使用WhiteSpaceTokenizer。