1

ここで見つけたプラグインを使用して、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 )。PHP オブジェクトを返すはずのgetDigestedResponse()string(1) " "メソッドは、単に を返します。メソッド getResponse() (http://docs.php.net/manual/en/solrresponse.getresponse.php) がタイムアウトするだけです。

それほど問題にはなりませんが、Raw Response からの XML の一部が有効ではなく、simpleXML で解析されないようです。一部の属性が欠落しており、正規表現を使用して必要なデータを取得することも困難です。たいへん面倒。

誰もこれを機能させていますか?助けていただければ幸いです。

4

1 に答える 1

0

応答の解析方法によって異なります。以下のコードを試し、PHP/PECL solr ライブラリをドロップして CURL に移動します (例: 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);
}
于 2012-10-13T03:01:59.970 に答える