3

默认情况下 SOLR 接受 XML 文件,我想对数百万个已抓取的 URL(html)执行搜索。

4

3 回答 3

2

通常,第一步我会建议使用 SolrJ 或类似方法来滚动您自己的应用程序来处理索引,而不是直接使用 DataImportHandler 进行。

只需编写您的应用程序并将这些网页的内容输出为 SolrInputDocument 中的一个字段。我建议在该应用程序中剥离 HTML,因为它可以让您更好地控制。此外,您可能希望获取该页面中的一些数据,例如<title>,并将其索引到不同的字段。另一种方法是在您的一个字段上使用HTMLStripTransformer以确保它将 HTML 从您发送到该字段的任何内容中去除。

你是如何抓取所有这些数据的?如果您使用的是Apache Nutch之类的东西,它应该已经为您完成了大部分工作,允许您插入 Solr 服务器的连接详细信息。

于 2012-11-01T15:41:44.323 回答
1

Solr CEL 可以接受 HTML 并对它们进行索引以进行全文搜索:http ://wiki.apache.org/solr/ExtractingRequestHandler

curl "http://localhost:8983/solr/update/extract?literal.id=doc1&commit=true" -F "myfile=@tutorial.html"
于 2012-11-02T09:17:56.507 回答
1

您可以很好地使用 solr 索引下载的 html 文件。

这是我进行索引的最快方式:

curl http://localhost:8080/solr/update/extract?stream.file=/home/index.html&literal.id=www.google.com

stream.file是您的 html 文件的本地路径,并且literal.id是来自index.html.

于 2014-06-03T11:49:08.260 回答