首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Solr post.jar崩溃并显示"content is not allowed in prolog“

Solr post.jar崩溃并显示"content is not allowed in prolog“
EN

Stack Overflow用户
提问于 2018-05-27 12:11:28
回答 3查看 1.1K关注 0票数 1

我正在尝试评估Solr,但无法在启用递归选项的情况下开始抓取网站。我已经到处寻找答案,但没有找到答案。环境: Windows Server2012 r2,java版本"1.8.0_171",solr-7.3.0。

在运行post.jar工具时,我得到以下错误:

代码语言:javascript
复制
java -Dauto=yes -Dc=testcore -Ddata=web -Drecursive=2 -Ddelay=10 -jar post.jar http://localhost/

SimplePostTool version 5.0.0
Posting web pages to Solr url http://localhost:8983/solr/testcore/update/extract
Entering auto mode. Indexing pages with content-types corresponding to file endings xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
Entering recursive mode, depth=2, delay=10s
Entering crawl at level 0 (1 links total, 1 new)
POSTed web resource http://localhost/ (depth: 0)
[Fatal Error] :1:1: Content is not allowed in prolog.
Exception in thread "main" java.lang.RuntimeException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
        at org.apache.solr.util.SimplePostTool$PageFetcher.getLinksFromWebPage(SimplePostTool.java:1252)
        at org.apache.solr.util.SimplePostTool.webCrawl(SimplePostTool.java:616)
        at org.apache.solr.util.SimplePostTool.postWebPages(SimplePostTool.java:563)
        at org.apache.solr.util.SimplePostTool.doWebMode(SimplePostTool.java:365)
        at org.apache.solr.util.SimplePostTool.execute(SimplePostTool.java:187)
        at org.apache.solr.util.SimplePostTool.main(SimplePostTool.java:172)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
        at org.apache.solr.util.SimplePostTool.makeDom(SimplePostTool.java:1061)
        at org.apache.solr.util.SimplePostTool$PageFetcher.getLinksFromWebPage(SimplePostTool.java:1232)
        ... 5 more

如果在关闭递归选项的情况下逐个索引,我可以手动索引http://localhost/中的所有链接(到文件和其他页面),所以我不认为有任何带有特殊字符的文件或链接。谢谢大家,感谢你们的帮助。

EN

回答 3

Stack Overflow用户

发布于 2018-06-14 15:11:49

删除-Drecursive=2,它正在使用以下命令创建问题。

java -Dauto=yes -Dc=testcore -Ddata=web -Ddelay=10 -jar post.jar http://localhost/

票数 1
EN

Stack Overflow用户

发布于 2018-06-09 07:59:29

我无法让post.jar工具正常工作。在尝试和排除Nutch 1.8故障后,我终于能够让它自动抓取网页和跟踪链接。这就是我所做的:安装cygwin,将Nutch安装/解压缩到cygwin/home文件夹,下载Hadoop-0.20.20-core.jar并粘贴到cygwin/home/apache-nutch-1.8/lib。在做完这些之后,我能够在这里完成Nutch教程:https://wiki.apache.org/nutch/NutchTutorial在这个过程中还有其他一些小问题,但我真的不记得是什么了(我需要更好的文档...),不管怎样,如果有人在和我类似的环境中尝试这个,请随时给我发个消息。

票数 0
EN

Stack Overflow用户

发布于 2019-07-16 23:45:08

有了Drupal,我用一个6行的shell脚本解决了这个问题,不需要nutch等,以及由此带来的研发、环境问题等:

代码语言:javascript
复制
#!/bin/bash
x=0
while [ "$x" != "37142" ]
do
        /opt/solr/bin/post -c drupal_dev  https://www.[yoursite].com/node/$x
        let "x+=1"
done

您可以使用drush动态生成最高的节点号。

您可以很容易地对其进行调整,以使用由wget生成的URL列表来抓取您的站点,或者在wget抓取您的站点时简单地发布它们。如果我从营销部门得到关于使用/node/nodeId urls的反馈,我计划这样做。

这个特定的shell脚本非常慢,我甚至不需要抛出延迟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50548947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档