2012-10-02 2 views
0

Solarium 및 PHP를 사용하여 MySQL에서 테이블을 색인하려고합니다. 테스트하기 위해, 나는 국가 목록을 가지고 있으며 Solr에서 내가 쿼리에서 검색하는 필드를 반영하도록 코어를 설정했다. 나는이 사용 일광 욕실을 추가하려고 할 때 오류가 점점 오전 : 여기Solr HTTP 오류 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 

을하고하는 것은 내 코드입니다 : SOLR 내 연결이 작동하고 내 Solarium_Client 구성의 핵심을 정의

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); 

. 내 스키마 파일에 정의 된 코드 필드도 있지만 인식되지 않습니다. 어떤 도움을 주셔서 감사합니다. 감사.

+0

schema.xml 파일에서 코드 필드를 정의한 후 Solr을 중지했다가 다시 시작 했습니까? 변경 사항은 Solr이 다시 시작될 때까지 반영되지 않습니다. –

+0

답장을 보내 주셔서 감사합니다. 페이지. Solr을 변경 한 후에 다시 시작합니다. Solarium은 문서를 Solr에게 보내고 실제로 스키마 파일을 읽지 않기 때문에 문제는 내 Solr 핵심 구성에 있다고 생각합니다. 아직도 이것을 통해 노력하고 있습니다. – Drew

답변

1

Solr 코어를 다시 설정하여 구성이 올바른지 확인합니다. 또한 솔라 리엄 설정에서 'adapteroptions'설정이 누락되었습니다. 다음 작업을 수행했습니다.

$config = array(
'adapteroptions' => array(
'host' => 'localhost', 
'port' => 8983, 
'path' => '/solr/', 
'core' => 'world' 
) 
);