라이브러리

[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를 수행할지 여부를 지정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 239 페이지

검색

게시물 검색