【问题标题】:Solr for PHP: getDigestedResponse not working用于 PHP 的 Solr:getDigestedResponse 不起作用
【发布时间】:2012-10-09 14:41:44
【问题描述】:

我已经成功地使用我在此处找到的插件在我的 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 对象,它只返回 string(1) " "。 方法 getResponse() (http://docs.php.net/manual/en/solrresponse.getresponse.php) 只是超时。

问题不大,但是原始响应中的一些 XML 似乎无效并使用 simpleXML 解析,缺少某些属性,使用正则表达式获取所需数据太麻烦了。

有没有人让这个工作呢?非常感谢您的帮助!

【问题讨论】:

    标签: php solr simplexml


    【解决方案1】:

    取决于您如何解析响应。尝试下面的代码并删除 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);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 2013-06-04
      相关资源
      最近更新 更多