라이브러리
[PHP] SolrClient::deleteByQueries - 모든 쿼리와 일치하는 모든 문서를 제거합니다.
SolrClient::deleteByQueries
SolrClient::deleteByQueries는 Apache Solr에서 문서를 삭제하는 데 사용되는 메소드입니다. 이 메소드는 Solr의 DELETE BY QUERY API를 사용하여 문서를 삭제할 수 있습니다. 이 메소드는 Solr의 Query DSL을 사용하여 삭제할 문서를 지정할 수 있습니다.
예제
아래 예제는 SolrClient::deleteByQueries 메소드를 사용하여 문서를 삭제하는 방법을 보여줍니다.
#hostingforum.kr
php
use SolariumClient;
use SolariumCoreQueryDeleteQuery;
// Solr 클라이언트 생성
$client = new Client($config);
// 삭제할 문서를 지정하는 쿼리 생성
$query = new Query();
$query->setQuery('id:123');
// 삭제할 문서를 삭제
$result = $client->getServer()->deleteByQuery($query);
// 결과를 확인
if ($result->isSuccessful()) {
echo "문서가 성공적으로 삭제되었습니다.
";
} else {
echo "문서 삭제에 실패했습니다.
";
echo $result->getRawResponse();
}
옵션
SolrClient::deleteByQueries 메소드는 다음과 같은 옵션을 제공합니다.
* `commitWithin`: 삭제 후 commit을 수행할 시간을 지정합니다. 기본값은 1000ms입니다.
* `optimizeAfterCommit`: 삭제 후 optimize를 수행할지 여부를 지정합니다. 기본값은 false입니다.
* `maxNumParams`: 삭제할 문서의 최대 수를 지정합니다. 기본값은 1000입니다.
예제 (옵션 사용)
아래 예제는 SolrClient::deleteByQueries 메소드를 사용하여 문서를 삭제하는 방법을 보여줍니다. 이 예제에서는 `commitWithin` 옵션을 사용하여 삭제 후 commit을 수행합니다.
#hostingforum.kr
php
use SolariumClient;
use SolariumCoreQueryDeleteQuery;
// Solr 클라이언트 생성
$client = new Client($config);
// 삭제할 문서를 지정하는 쿼리 생성
$query = new Query();
$query->setQuery('id:123');
// 삭제 옵션 설정
$options = [
'commitWithin' => 500, // 0.5초 후 commit
];
// 삭제할 문서를 삭제
$result = $client->getServer()->deleteByQuery($query, $options);
// 결과를 확인
if ($result->isSuccessful()) {
echo "문서가 성공적으로 삭제되었습니다.
";
} else {
echo "문서 삭제에 실패했습니다.
";
echo $result->getRawResponse();
}
참고
* SolrClient::deleteByQueries 메소드는 Solr의 DELETE BY QUERY API를 사용하여 문서를 삭제합니다.
* 삭제할 문서를 지정하는 쿼리는 Solr의 Query DSL을 사용하여 작성할 수 있습니다.
* 삭제 옵션을 사용하여 삭제 후 commit을 수행할 시간을 지정할 수 있습니다.
* 삭제 옵션을 사용하여 삭제 후 optimize를 수행할지 여부를 지정할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.