有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java lucene:使StandardTokenizer适应Twitter数据

我需要调整lucene的StandardTokenizer,使其适应twitter数据的一些特殊用途。目前,我使用StandardTokenizer对一些推文进行标记,这是我想做的。它工作得很好,但现在我想扩展行为(例如,康塞德尔也有标签和“某人,考虑Shimes:”),删除URL,…)。p>

有人能告诉我——甚至给我一个方向——我怎么能轻松做到这一点?我知道,编写自己的标记器是最好的选择,但我对lucene很陌生,不知道如何开始

我希望有人能帮我:)

最好的, 迈克尔


共 (1) 个答案

  1. # 1 楼答案

    通过使用lucene的CharFilter API(也可能是TokenFilters,具体取决于您希望搜索的工作方式),可以极大地扩展StandardTokenizer的标记化

    最终,如果StandardTokenizer与您想要的完全不同,那么它就是错误的标记器,但是如果它接近,这可能会容易得多

    CharFilter本质上是一个FilterReader,允许您在标记器运行之前修改文本。它还跟踪偏移调整,以便高亮显示仍能工作

    要添加CharFilters,最简单的方法是扩展ReusableAnalyzerBase并重写其initReader方法,用所需的CharFilters包装传入的读取器

    您可能想先看看MappingCharFilter,它允许您预先定义一些映射来处理特殊的twitter语法。这里有一些例子/想法: http://markmail.org/message/abo2hysvfy2clxed