• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • SolrClient::commit()

    (PECL solr >= 0.9.2)

    Finalizes all add/deletes made to the index

    说明

    publicSolrClient::commit([bool $softCommit= FALSE[,bool $waitSearcher= TRUE[,bool $expungeDeletes= FALSE]]]): SolrUpdateResponse

    This method finalizes all add/deletes made to the index.

    参数

    $softCommit

    This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees.(Solr4.0+)

    A soft commit is much faster since it only makes index changes visible and does not fsync index files or write a new index descriptor. If the JVM crashes or there is a loss of power, changes that occurred after the last hard commit will be lost. Search collections that have near-real-time requirements(that want index changes to be quickly visible to searches)will want to soft commit often but hard commit less frequently.

    $waitSearcher

    block until a new searcher is opened and registered as the main query searcher, making the changes visible.

    $expungeDeletes

    Merge segments with deletes away.(Solr1.4+)

    返回值

    Returns a SolrUpdateResponse object on success or throws an exception on failure.

    错误/异常

    Throws SolrClientException if the client had failed, or there was a connection issue.

    Throws SolrServerException if the Solr Server had failed to process the request.

    更新日志

    版本说明
    1.1.0, 2.0.0$maxSegments removed
    2.0.0b API Changed: SolrClient::commit([ int $maxSegments = 0[, bool $softCommit = false[, bool $waitSearcher = true[, bool $expungeDeletes = false ]]])
    0.9.2 Signature: SolrClient::commit([ int $maxSegments = 1[, bool $waitFlush = true[, bool $waitSearcher = true ]]]).$waitFlush: Block until index changes are flushed to disk.

    注释

    Warning

    PECL Solr >= 2.0 only supports Solr Server >= 4.0

    参见

    • SolrClient::optimize() Defragments the index
    • SolrClient::rollback() Rollbacks all add/deletes made to the index since the last commit
    Go easy on your use of commit - use the <autocommit /> section solrconfig.xml instead.
    Also consider using optimize() once a day if you are doing lots of adds/removes.