Я новичок в Solr, и я пытаюсь интегрировать его с моим приложением PHP с помощью Solarium. Я попытался выполнить запрос ping, но он не работает и выдает сообщение об ошибке Solr HTTP: Not Found (404).
Мой PHP-код выглядит следующим образом:
$config = array(
"endpoint" => array("localhost" => array("host"=>"localhost",
"port"=>8983, "path"=>"/solr", "core"=>"techproducts",)));
try{
$client = new Solarium_Client($config);
}catch (Exception $e){
echo $e->getMessage();
}
if ($client == null) {
echo 'Client null';
} else {
echo 'Client created</br>';
//v($client);
}
// create a ping query
$ping = $client->createPing();
if ($ping == null) {
echo 'ping null';
} else {
echo 'ping created</br>';
//v($ping);
}
// execute the ping query
try{
$result= $client->ping($ping);
echo 'Ping query successful';
echo '<br/><pre>';
//var_dump($result->getData());
}catch(Solarium_Exception $e){
echo $e->getMessage();
}
Мой адрес сервера Solr:HTTP: // локальный: 8983 / Solr /
Core: techproducts
Я получаю этот вывод:
Клиент создан
пинг создан
Ошибка HTTP Solr: не найдено (404)
Кто-нибудь может подсказать, какие могут быть возможные решения?
Я предполагаю, что пинг обработчик отсутствует в вашем solrconfig.xml файл. Пожалуйста, проверьте. Вы можете ниже конфигурации для того же.
<!-- ping/healthcheck -->
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
<lst name="invariants">
<str name="q">solrpingquery</str>
</lst>
<lst name="defaults">
<str name="echoParams">all</str>
</lst>
<!-- An optional feature of the PingRequestHandler is to configure the
handler with a "healthcheckFile" which can be used to enable/disable
the PingRequestHandler.
relative paths are resolved against the data dir
-->
<!-- <str name="healthcheckFile">server-enabled.txt</str> -->
</requestHandler>
Тогда вы можете пропинговать Solr. Вы можете редактировать имя ядра в URL.
кликните сюда
Других решений пока нет …