Apache Solr SolrClient::commit
(PECL solr >= 0.9.2)
SolrClient::commit — 인덱스에 대한 모든 추가/삭제를 완료합니다.
설명
public SolrClient::commit(bool $softCommit
= false
, bool $waitSearcher
= true
, bool $expungeDeletes
= false
): SolrUpdateResponse
이 메소드는 인덱스에 대한 모든 추가/삭제를 완료합니다.
매개변수
softCommit
- 이렇게 하면 인덱스의 '보기'가 더 성능이 좋은 방식으로 새로 고쳐지지만 "디스크에 있는" 보장은 없습니다. (Solr4.0+)
소프트 커밋은 인덱스 변경 사항만 표시하고 인덱스 파일을 동기화하거나 새 인덱스 설명자를 작성하지 않기 때문에 훨씬 빠릅니다. JVM이 충돌하거나 전원이 손실되면 마지막 하드 커밋 이후에 발생한 변경 사항이 손실됩니다. 거의 실시간 요구 사항(인덱스 변경 사항을 검색에서 빠르게 볼 수 있기를 원하는)이 있는 검색 컬렉션은 소프트 커밋을 자주 원하지만 하드 커밋은 덜 자주 합니다.
waitSearcher
- 새 검색자가 열리고 기본 쿼리 검색자로 등록되어 변경 사항이 표시될 때까지 차단됩니다.
expungeDeletes
- 삭제로 세그먼트를 병합합니다. (Solr1.4+)
반환 값
성공 시 SolrUpdateResponse 개체를 반환하거나 실패 시 예외를 throw합니다.
오류/예외
클라이언트가 실패했거나 연결 문제가 있는 경우 SolrClientException을 던집니다.
Solr Server가 요청을 처리하는 데 실패한 경우 SolrServerException을 던집니다.
변경 로그
버전 | 설명 |
---|---|
PECL solr 1.1.0, 2.0.0 | $maxSegments 제거됨 |
PECL solr 2.0.0b | PI 변경: SolrClient::commit ([ int $maxSegments = 0 [, bool $softCommit = false [, bool $waitSearcher = true[, bool $expungeDeletes = false ]]]] ) |
PECL solr 0.9.2 | 서명: SolrClient::commit ([ int $maxSegments = 1 [, bool $waitFlush = true [, bool $waitSearcher = true ]]] ). $waitFlush: 인덱스 변경 사항이 디스크로 플러시될 때까지 차단합니다. |
메모
경고 PECL Solr >= 2.0은 Solr Server >= 4.0만 지원합니다.
기타
- SolrClient::optimize() - 덱스 조각 모음
- SolrClient::rollback() - 마지막 커밋 이후 인덱스에 대한 모든 추가/삭제를 롤백합니다.