【发布时间】:2023-03-26 07:15:01
【问题描述】:
我正在使用 lucene 使用 java 编程语言来索引我的数据。但是,当我检索 lucene 索引的术语时,它们会出现 html 之类的标签(html 被视为术语而不是标签,lucene 不会删除它)。 是否有任何代码或库,例如可以删除所需 html 标记的英语分析器?
【问题讨论】:
我正在使用 lucene 使用 java 编程语言来索引我的数据。但是,当我检索 lucene 索引的术语时,它们会出现 html 之类的标签(html 被视为术语而不是标签,lucene 不会删除它)。 是否有任何代码或库,例如可以删除所需 html 标记的英语分析器?
【问题讨论】:
如果你想在 Lucene 中索引它们之前删除 html 标签,你可以使用PatternReplaceCharFilter。它使用正则表达式作为替换字符串的目标。
你可以像这样创建字符过滤器:
CharFilter cf = new PatternReplaceCharFilter(Pattern.compile("<[^>]*>"), "", reader);
这个,会将所有的html标签替换为空字符串,所以会被删除。
【讨论】: