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만 지원합니다.


기타