라이브러리

[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` 옵션에 지정된 시간 이후에 자동으로 수행됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 171 페이지

검색

게시물 검색