有人可以给我一个关于如何使用 Apache Lucene 5.3.1 仅索引最小长度单词的提示吗?
我搜索了 API,但除了 this 之外没有找到任何适合我需求的东西,但我不知道如何使用它。
谢谢!
编辑: 我想这是重要的信息,所以这里是我对我想要从下面的回复中实现的目标的解释:
“我不打算使用查询。我想创建一个源代码摘要工具,我使用 Lucene 创建了一个文档术语矩阵。现在它还显示单字符或双字符单词。我想排除因此它们不会出现在结果中,因为它们对于摘要来说没有什么值(value)。我知道我可以在输出结果时过滤它们,但这不是一个干净的解决方案。更糟糕的是添加单个的所有组合- 或将双字符单词添加到非索引字表中。我希望有一种比其中一种更优雅的方法。”
最佳答案
您应该使用带有lenthtokefilter的自定义分析仪。例如
Analyzer ana = CustomAnalyzer.builder()
.withTokenizer("standard")
.addTokenFilter("standard")
.addTokenFilter("lowercase")
.addTokenFilter("length", "min", "4", "max", "50")
.addTokenFilter("stop", "ignoreCase", "false", "words", "stopwords.txt", "format", "wordset")
.build();
,但是最好使用stopword(几乎所有文档中发生的单词,例如英语语言的文章)列表。这给出了更准确的结果。
关于apache - 如何使用 Apache Lucene 5.3.1 仅索引最小长度的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136662/