Pergunta

Estou tentando indexar uma tabela do MySQL com Solarium e PHP.Para testar, tenho uma lista de países e configurei um núcleo no Solr para refletir os campos que estou recuperando na consulta.Estou recebendo um erro ao tentar adicioná-los usando o Solarium:

Fatal error: Uncaught exception 'Solarium_Client_HttpException' with message 'Solr HTTP error: ERROR: [doc=1] unknown field 'code' (400)' in solariumQuickStart\Library\Solarium\Result.php on line 98
( ! ) Solarium_Client_HttpException: Solr HTTP error: ERROR: [doc=1] unknown field 'code' (400) in solariumQuickStart\Library\Solarium\Result.php on line 98

e aqui está o meu código:

foreach($worldDBRecords as $record)
{

    // create a new document for the data
    $doc = $update->createDocument();
    $doc->code = $record[0];
    $doc->name = $record[1];
    $doc->continent = $record[2];
    $doc->region = $record[3];
    $doc->population = $record[4];
    $update->addDocument($doc);
}

$update->addCommit();
$result = $client->update($update);

Minha conexão com o Solr está funcionando e defini o núcleo na minha configuração Solarium_Client.Também tenho o campo code definido no meu arquivo de esquema, mas ele não está sendo reconhecido.Qualquer ajuda é apreciada.Obrigado.

Foi útil?

Solução

Reconfigurei meu núcleo Solr para ter certeza de que minha configuração estava correta.Além disso, estava faltando a configuração 'adapteroptions' na minha configuração do Solarium, funcionou depois disso:

$config = array(
'adapteroptions' => array(
'host' => 'localhost',
'port' => 8983,
'path' => '/solr/',
'core' => 'world'
)
);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top