TokenFilter, 个人觉得很好理解,就是把不需要的东西过滤掉。
例如分词后的结果如下:
【 what are you doing man 】
也许我们认为 are.you.what 这三个这个词语太普遍了,不具有查询的意义。则可以在查询之前将其剔除掉,实际上索引存的信息就是有关于【 doing man 】的信息。这个事情就交给 Filter 来做了。
下面是剔除长度不过关的 LengthFilter
输出结果:
(startOffset=0,endOffset=4,term=what)
(startOffset=5,endOffset=8,term=are)
(startOffset=9,endOffset=12,term=you)
(startOffset=13,endOffset=18,term=doing)
(startOffset=19,endOffset=22,term=man)
(startOffset=28,endOffset=32,term=none)
(startOffset=36,endOffset=40,term=your)
OK 长度大于 8 和小于 2 的分词全部被删除。
其他类似。