如何将HTML文件编入Apache SOLR?

时间:2012-11-01 14:58:07

标签: html apache solr indexing inverted-index

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

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分: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"

答案 2 :(得分: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的网址。