我已经设法使用我在这里找到的插件在我的Windows 7 64位机器上安装Solr for PHP:
downloads.php.net/pierre /
它链接到此网站:
wiki.apache.org/solr/SolPHP
(链接不可点击,因为我是新用户)
我已经完成所有操作,搜索和索引工作正常,但只有当我使用getRawResponse()方法并通过SimpleXml解析它时(http://de.php.net/manual/ EN / book.simplexml.php)。
getDigestedResponse()方法,它应该返回一个PHP-Object,只返回string(1) " "
。
方法getResponse()(http://docs.php.net/manual/en/solrresponse.getresponse.php)只是超时。
这不是一个很大的问题,但原始响应中的一些XML似乎没有效,并且使用simpleXML进行解析,缺少一些属性,使用正则表达式得到所需的数据会太麻烦。
有人让这个工作吗?非常感谢帮助!
答案 0 :(得分:0)
取决于您如何解析响应。尝试下面的代码并删除PHP / PECL solr库并转到CURL( ex:hostNameHere:8983 / solr / select /?q = solr& start = 0& rows = 10& indent = on并将结果XML发送到下面的功能)。
如果您可以通过URL访问资源(solr),则无需使用辅助库来执行CURL可以执行的操作:
function makeSimpleXML($xml) {
$dom = new DOMDocument;
$dom->loadXML($xml);
if (!$dom) {
// ErrorUtility::throwFatal("could not parse xml. please check the format", "XMLParisng Error");
}
return simplexml_import_dom($dom);
}