gpt4 book ai didi

search - 如何使用 Tika & Lucene 解析和索引 HTML 页面的不同部分?

转载 作者:行者123 更新时间:2023-12-05 01:14:23 30 4
gpt4 key购买 nike

我一直在尝试使用 Lucene 和 Tika 来解析和索引 HTML 页面的不同部分。例如。我想分别在 HTML 页面的标题、H1、H2、A 标签中索引文本,并为它们中的每一个提供不同的提升。我正在使用 Tika 进行 HTML 解析并创建一个包含需要索引的适当字段的文档对象。然而,我在 Tika 中找不到任何可以帮助我索引我想要的标签的东西。

我的代码看起来像这样:

 InputStream is = new FileInputStream(f); 
Parser parser = new AutoDetectParser();
ContentHandler handler = new BodyContentHandler(-1);
ParseContext context = new ParseContext();
context.set(HtmlMapper.class, DefaultHtmlMapper.INSTANCE);

try {
parser.parse(is, handler, metadata, context);
} finally {
is.close();
}

Document doc = new Document();
doc.add(new Field("contents", handler.toString(),
Field.Store.NO, Field.Index.ANALYZED));

for (String name : metadata.names()) {
String value = metadata.get(name);

if (textualMetadataFields.contains(name)) {
doc.add(new Field("contents", value,
Field.Store.NO, Field.Index.ANALYZED));
}

doc.add(new Field(name, value, Field.Store.YES, Field.Index.YES));
}

进入 Tika 的 HTML 解析代码,我发现它是 org.apache.tika.parser.html.HtmlHandler 类填充元数据对象。

我是否需要编写像 HtmlHandler 这样的自定义 HTML 处理程序?Tika 中是否有一些类可以解析出指定的不同 HTML 标记中的文本?有人可以为您提出的解决方案提供代码示例吗?

最佳答案

嗯。您是否出于任何特定原因在项目中使用搜索引擎?我用一个来寻找答案,想象一下 ;-)

A good and relevant tutorial

关于search - 如何使用 Tika & Lucene 解析和索引 HTML 页面的不同部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4646943/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com