【发布时间】:2016-02-23 15:49:02
【问题描述】:
我正在尝试使用 Lucene (5.5.0) 进行一些字符串标记化(无索引)。 我需要:
- 完全删除包含数字的单词,例如应该从字符串中删除像 log4j 这样的单词
- 我想将我的字符串拆分为一个单词术语和 2-Grams 术语,例如:“tie a yellow ribbon”应该被标记为以下术语:“tie”、“yellow”、“ribbon ”、“黄丝带”。请注意,“领带黄色”不是一个术语,因为它在中间有一个停用词
这些可能与Lucene有关吗?如果有怎么办?
到目前为止我做了什么:
- 关于删除包含数字的单词,我遇到了 WordDelimetedFilter,这并不好,因为在文档中它显示它会将单词 SD500 拆分为“SD”和“500”,而我想完全删除它。我还发现了一个看起来很有前途的 NumericPayloadTokenFilter(按名称),但我在理解如何使用它时遇到了一些问题
- 关于 2Grams 和 1Grams,我找到了几个例子来说明如何做到这一点 here、here 和 NGramTokenizer documentation 但是他们似乎都在处理字符而不是单词,这就是我需要
提前致谢
【问题讨论】:
标签: java lucene tokenize n-gram