当前位置: 首页>>代码示例>>PHP>>正文


PHP Document::hasId方法代码示例

本文整理汇总了PHP中Elastica\Document::hasId方法的典型用法代码示例。如果您正苦于以下问题:PHP Document::hasId方法的具体用法?PHP Document::hasId怎么用?PHP Document::hasId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Elastica\Document的用法示例。


在下文中一共展示了Document::hasId方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testHasId

 public function testHasId()
 {
     $document = new Document();
     $this->assertFalse($document->hasId());
     $document->setId('');
     $this->assertFalse($document->hasId());
     $document->setId(0);
     $this->assertTrue($document->hasId());
     $document->setId('hello');
     $this->assertTrue($document->hasId());
 }
开发者ID:kskod,项目名称:Elastica,代码行数:11,代码来源:DocumentTest.php

示例2: addDocument

 /**
  * Adds the given document to the search index
  *
  * @param  \Elastica\Document $doc Document with data
  * @return \Elastica\Response
  */
 public function addDocument(Document $doc)
 {
     $path = urlencode($doc->getId());
     $type = Request::PUT;
     // If id is empty, POST has to be used to automatically create id
     if (empty($path)) {
         $type = Request::POST;
     }
     $options = $doc->getOptions(array('version', 'version_type', 'routing', 'percolate', 'parent', 'ttl', 'timestamp', 'op_type', 'consistency', 'replication', 'refresh', 'timeout'));
     $response = $this->request($path, $type, $doc->getData(), $options);
     $data = $response->getData();
     // set autogenerated id to document
     if (($doc->isAutoPopulate() || $this->getIndex()->getClient()->getConfigValue(array('document', 'autoPopulate'), false)) && $response->isOk()) {
         if (!$doc->hasId()) {
             if (isset($data['_id'])) {
                 $doc->setId($data['_id']);
             }
         }
         if (isset($data['_version'])) {
             $doc->setVersion($data['_version']);
         }
     }
     return $response;
 }
开发者ID:backplane,项目名称:elastica,代码行数:30,代码来源:Type.php

示例3: updateDocument

 /**
  * Update document, using update script. Requires elasticsearch >= 0.19.0
  *
  * @param  \Elastica\Document                   $document Document with update data
  * @throws \Elastica\Exception\InvalidException
  * @return \Elastica\Response
  * @link http://www.elasticsearch.org/guide/reference/api/update.html
  */
 public function updateDocument(Document $document)
 {
     if (!$document->hasId()) {
         throw new InvalidException('Document id is not set');
     }
     return $this->getIndex()->getClient()->updateDocument($document->getId(), $document, $this->getIndex()->getName(), $this->getName());
 }
开发者ID:janaece,项目名称:globalclassroom4_clean,代码行数:15,代码来源:Type.php

示例4: updateDocument

 /**
  * Update document, using update script. Requires elasticsearch >= 0.19.0
  *
  * @link http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
  * @throws \Elastica\Exception\InvalidException
  *
  * @param  \Elastica\Document|\Elastica\Script $data    Document with update data
  * @param  array                               $options array of query params to use for query. For possible options check es api
  * @return \Elastica\Response
  */
 public function updateDocument($data, array $options = array())
 {
     if (!$data instanceof Document && !$data instanceof Script) {
         throw new \InvalidArgumentException("Data should be a Document or Script");
     }
     if (!$data->hasId()) {
         throw new InvalidException('Document or Script id is not set');
     }
     $id = urlencode($data->getId());
     return $this->getIndex()->getClient()->updateDocument($id, $data, $this->getIndex()->getName(), $this->getName(), $options);
 }
开发者ID:backplane,项目名称:elastica,代码行数:21,代码来源:Type.php

示例5: testAddDocumentAutoGeneratedId

 /**
  * @group functional
  */
 public function testAddDocumentAutoGeneratedId()
 {
     $index = $this->_createIndex();
     $type = $index->getType('elastica_type');
     $document = new Document();
     $document->setAutoPopulate();
     $document->set('name', 'ruflin');
     $this->assertEquals('', $document->getId());
     $this->assertFalse($document->hasId());
     $type->addDocument($document);
     $this->assertNotEquals('', $document->getId());
     $this->assertTrue($document->hasId());
     $foundDoc = $type->getDocument($document->getId());
     $this->assertInstanceOf('Elastica\\Document', $foundDoc);
     $this->assertEquals($document->getId(), $foundDoc->getId());
     $data = $foundDoc->getData();
     $this->assertArrayHasKey('name', $data);
     $this->assertEquals('ruflin', $data['name']);
 }
开发者ID:bungkoko,项目名称:Elastica,代码行数:22,代码来源:TypeTest.php


注:本文中的Elastica\Document::hasId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。