【问题标题】:How can I use lucene's shingleanalyzerwrapper + standardanalyzer + indexreader?如何使用 lucene 的 shingleanalyzerwrapper + standardanalyzer + indexreader?
【发布时间】:2011-05-11 14:10:57
【问题描述】:

我希望你能帮助我解决这个问题。 我打算做什么: 给定一个正确的文本,我想计算没有停用词的每个词干化标记 ngram 的频率(换句话说,停用词已经被删除)。

情况是这样的: 我正在使用 ShingleAnalyzerWrapper + StandardAnalyzer 使用 IndexWriter 对一些文本进行索引,当我将文档添加到 IndexWriter 时(如下所示: indexwriter.addDocument(doc, analyzer); 其中分析器再次是 ShingleAnalyzerWrapper + StandardAnalyzer )。

但问题是: 当我得到术语频率和术语时,停用词似乎被下划线取代。

这是输入:
String text = "到我要到我要链接";
String text2 = "super by hard easy";

这是输出:
术语:|频率:6
术语:
_|频率:2
术语:_ 硬|频率:1
术语:_ i|频率:2
术语:_ 链接|频率:1
术语:简单|频率:1
术语:硬|频率:1
术语:难易|频率:1
术语:i|频率:2
学期:我想要|频率:2
术语:链接|频率:1
术语:超级|频率:1
术语:超级 _|频率:1
期限:想要|频率:2
术语:想要_|频率:2

如果有什么不清楚的地方,请问我,我尽量让自己更清楚

感谢您的帮助

【问题讨论】:

    标签: java lucene tokenize full-text-indexing frequency-analysis


    【解决方案1】:

    请参阅http://www.lucidimagination.com/search/document/e5681676403a007b/can_i_omit_shinglefilter_s_filler_tokens 了解一些解决方案。

    在这种情况下,您可能想禁用停止过滤器上的位置增量,因为您不想在停止词所在的位置引入“洞”,而是想假装它们从未存在过。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多