Solr for PHP:getDigestedResponse无效

时间:2012-10-09 14:41:44

标签: php solr simplexml

我已经设法使用我在这里找到的插件在我的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进行解析,缺少一些属性,使用正则表达式得到所需的数据会太麻烦。

有人让这个工作吗?非常感谢帮助!

1 个答案:

答案 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);
}