라이브러리
[PHP] SolrClient::deleteByQuery - 지정된 쿼리와 일치하는 모든 문서를 삭제합니다.
SolrClient::deleteByQuery
SolrClient::deleteByQuery는 Solr 인덱스에서 특정 쿼리에 해당하는 문서를 삭제하는 메서드입니다. 이 메서드는 Solr 클라이언트의 `deleteByQuery` 메서드를 호출하여 문서를 삭제합니다.
예제
아래 예제는 PHP로 SolrClient::deleteByQuery를 사용하는 방법을 보여줍니다.
#hostingforum.kr
php
// Solr 클라이언트 인스턴스 생성
$client = new SolrClient('http://localhost:8983/solr');
// 쿼리 생성
$query = new SolrQuery();
$query->setQuery('name:John');
// 삭제 옵션 설정
$deleteOptions = new SolrDeleteQuery();
$deleteOptions->setQuery($query);
// 문서 삭제
$result = $client->deleteByQuery($deleteOptions);
// 결과 확인
if ($result->getResponse()->getStatus() == 0) {
echo "문서 삭제 성공
";
} else {
echo "문서 삭제 실패
";
}
옵션
SolrClient::deleteByQuery는 다음과 같은 옵션을 지원합니다.
* `query`: 삭제할 문서를 찾는 쿼리입니다.
* `deleteQuery`: 삭제할 문서를 찾는 쿼리입니다. 이 옵션은 `query` 옵션과 동일합니다.
* `commitWithin`: 삭제 후 커밋할 시간입니다. 기본값은 1000ms입니다.
* `version`: 문서의 버전입니다. 기본값은 -1입니다.
예제 (옵션 사용)
아래 예제는 PHP로 SolrClient::deleteByQuery를 사용하는 방법을 보여줍니다. 이 예제에서는 `commitWithin` 옵션을 사용합니다.
#hostingforum.kr
php
// Solr 클라이언트 인스턴스 생성
$client = new SolrClient('http://localhost:8983/solr');
// 쿼리 생성
$query = new SolrQuery();
$query->setQuery('name:John');
// 삭제 옵션 설정
$deleteOptions = new SolrDeleteQuery();
$deleteOptions->setQuery($query);
$deleteOptions->setCommitWithin(500); // 500ms 후 커밋
// 문서 삭제
$result = $client->deleteByQuery($deleteOptions);
// 결과 확인
if ($result->getResponse()->getStatus() == 0) {
echo "문서 삭제 성공
";
} else {
echo "문서 삭제 실패
";
}
참고
SolrClient::deleteByQuery는 문서를 삭제하는 메서드입니다. 삭제된 문서는 즉시 삭제되지 않고, 커밋되기 전까지는 삭제되지 않습니다. 커밋은 `commitWithin` 옵션에 지정된 시간 이후에 자동으로 수행됩니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.