使用脚本将段落解析为 Solr 中的单独文档
Parsing paragraphs into separate documents in Solr using script
我想使用 Nutch 抓取网站列表,然后将每个文档分解成段落并将它们发送到 Solr 进行索引。
我一直在使用以下脚本来自动执行 crawling/fetching/parsing/indexing 的过程:
bin/crawl -i -D solr.server.url=http://localhost:8983/solr/#/nutch -s ./urls/ Crawl 2
我的想法是在这个工作流程的中间附加一个脚本(可能是 Nutch 的解析阶段?),它会打断段落,比如 paragraphs.split()
。我怎样才能做到这一点?
此外,我需要为每个段落添加一个字段,以显示其在文档中的数字位置,以及它属于哪个章节。章节是文档中的一个h2标签。
目前,您的问题没有一个简单的答案。为此,您需要自定义代码,具体来说,Nutch 有两个不同的插件来处理 HTML 代码 parse-html
和 parse-tika
的解析。这些插件专注于提取文本内容,而不是从 HTML 文档中提取大量结构化数据。
您需要有一个自定义解析器 (HtmlParserPugin
) 插件,它将以自定义方式处理 HTML 文档中的段落节点(提取内容和位置信息)。
您需要的另一个组件是在 Solr 中对数据建模,因为您需要在同一文档中保持段落的位置,您还需要以可在 Solr 中搜索的方式发送此数据,也许使用嵌套文档(这 确实 取决于您打算如何使用数据)。
例如,您可以查看 this plugin,它实现了使用来自 HTML.
的任意 X 路径表达式提取数据的自定义逻辑
我想使用 Nutch 抓取网站列表,然后将每个文档分解成段落并将它们发送到 Solr 进行索引。
我一直在使用以下脚本来自动执行 crawling/fetching/parsing/indexing 的过程:
bin/crawl -i -D solr.server.url=http://localhost:8983/solr/#/nutch -s ./urls/ Crawl 2
我的想法是在这个工作流程的中间附加一个脚本(可能是 Nutch 的解析阶段?),它会打断段落,比如 paragraphs.split()
。我怎样才能做到这一点?
此外,我需要为每个段落添加一个字段,以显示其在文档中的数字位置,以及它属于哪个章节。章节是文档中的一个h2标签。
目前,您的问题没有一个简单的答案。为此,您需要自定义代码,具体来说,Nutch 有两个不同的插件来处理 HTML 代码 parse-html
和 parse-tika
的解析。这些插件专注于提取文本内容,而不是从 HTML 文档中提取大量结构化数据。
您需要有一个自定义解析器 (HtmlParserPugin
) 插件,它将以自定义方式处理 HTML 文档中的段落节点(提取内容和位置信息)。
您需要的另一个组件是在 Solr 中对数据建模,因为您需要在同一文档中保持段落的位置,您还需要以可在 Solr 中搜索的方式发送此数据,也许使用嵌套文档(这 确实 取决于您打算如何使用数据)。
例如,您可以查看 this plugin,它实现了使用来自 HTML.
的任意 X 路径表达式提取数据的自定义逻辑