默认情况下,SOLR接受XML文件,我想对数百万个已抓取的URL(html)执行搜索。
答案 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
的网址。