
SolrClient::addDocument 메서드는 문서를 추가할 때 필드 이름과 타입을 지정하는 방법을 제공하지 않습니다. 그러나 Document 객체를 사용하여 필드 이름과 타입을 지정할 수 있습니다.
Document 객체의 필드는 필드 이름과 필드 타입으로 구성됩니다. 예를 들어, 'id' 필드는 문자열 타입이고, 'age' 필드는 숫자 타입입니다. 'name' 필드는 문자열 타입입니다.
Document 객체의 필드는 다음과 같은 타입을 가질 수 있습니다.
- 문자열 (String): 문자열 필드
- 숫자 (Int): 숫자 필드
- 날짜 (Date): 날짜 필드
- 부울 (Boolean): 부울 필드
- 목록 (List): 목록 필드
- 집합 (Set): 집합 필드
- 멀티 필드 (MultiField): 멀티 필드
Document 객체는 다음과 같은 방법으로 생성할 수 있습니다.
- new Document(array('필드 이름' => '필드 값', ...));
- new Document(array('필드 이름' => '필드 값', ...), array('필드 이름' => '필드 타입', ...));
예를 들어, 다음 코드는 Document 객체를 생성하여 'id' 필드를 문자열 타입, 'name' 필드를 문자열 타입, 'age' 필드를 숫자 타입으로 지정합니다.
#hostingforum.kr
php
$solrClient = new SolrClient();
$solrClient->addDocument(
new Document(
array(
'id' => 'doc1',
'name' => 'John Doe',
'age' => 30
),
array(
'id' => 'string',
'name' => 'string',
'age' => 'int'
)
)
);
Document 객체의 필드는 다음과 같이 접근할 수 있습니다.
- $document->getField('필드 이름');
- $document->getFieldType('필드 이름');
예를 들어, 다음 코드는 'name' 필드의 값을 가져오고, 'age' 필드의 타입을 가져옵니다.
#hostingforum.kr
php
$document = new Document(array('name' => 'John Doe', 'age' => 30));
echo $document->getField('name'); // John Doe
echo $document->getFieldType('age'); // int
2025-03-16 17:49