在分析过程之后,我多次获得令牌。我正在使用模式令牌过滤器,并在相同的输入字符串上使用不同的令牌过滤器实例的不同正则表达式。在某些情况下,我得到相同的令牌,其中开始和结束偏移量也相同,包括令牌本身,在某些情况下,相同的令牌出现不同的开始和结束偏移量。
这个行为是绝对正确的,因为我在输入字符串的多个位置出现了相同的标记。但是,问题是我只想要一个具有特定开始和结束偏移量的令牌,而不是多次出现具有相同开始和结束偏移量的相同令牌。其他出现的相同的标记,但有不同的开始和结束偏移量是绝对没问题的。
我不想使用"unique";令牌过滤器,因为它将删除所有出现的令牌。
我已经通过创建一个自定义令牌过滤器工厂并使用内置的Lucene RemoveDuplicatesTokenFilter解决了这个问题。