當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Query::addScriptField方法代碼示例

本文整理匯總了PHP中Elastica\Query::addScriptField方法的典型用法代碼示例。如果您正苦於以下問題:PHP Query::addScriptField方法的具體用法?PHP Query::addScriptField怎麽用?PHP Query::addScriptField使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Elastica\Query的用法示例。


在下文中一共展示了Query::addScriptField方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testSearch

 /**
  * @group functional
  */
 public function testSearch()
 {
     $index = $this->_createIndex();
     $type = $index->getType('test');
     $type->setMapping(new Mapping(null, array('location' => array('type' => 'geo_point'))));
     $type->addDocuments(array(new Document(1, array('location' => array('lat' => 48.8825968, 'lon' => 2.3706111))), new Document(2, array('location' => array('lat' => 48.9057932, 'lon' => 2.2739735)))));
     $index->refresh();
     $scriptFile = new ScriptFile('calculate-distance', array('lat' => 48.858859, 'lon' => 2.3470599));
     $query = new Query();
     $query->addScriptField('distance', $scriptFile);
     $resultSet = $type->search($query);
     $results = $resultSet->getResults();
     $this->assertEquals(2, $resultSet->count());
     $this->assertEquals(array(3.1494078652615), $results[0]->__get('distance'));
     $this->assertEquals(array(7.463982587692456), $results[1]->__get('distance'));
 }
開發者ID:nicolassing,項目名稱:Elastica,代碼行數:19,代碼來源:ScriptFileTest.php

示例2: testSearch

 /**
  * @group functional
  */
 public function testSearch()
 {
     $index = $this->_createIndex();
     $type = $index->getType('test');
     $type->setMapping(new Mapping(null, array('location' => array('type' => 'geo_point'))));
     $type->addDocuments(array(new Document(1, array('location' => array('lat' => 48.8825968, 'lon' => 2.3706111))), new Document(2, array('location' => array('lat' => 48.9057932, 'lon' => 2.2739735)))));
     $index->refresh();
     $scriptFile = new ScriptFile('calculate-distance', array('lat' => 48.858859, 'lon' => 2.3470599));
     $query = new Query();
     $query->addScriptField('distance', $scriptFile);
     try {
         $resultSet = $type->search($query);
     } catch (ResponseException $e) {
         if (strpos($e->getMessage(), 'Unable to find on disk script') !== false) {
             $this->markTestIncomplete('calculate-distance script not installed?');
         }
         throw $e;
     }
     $results = $resultSet->getResults();
     $this->assertEquals(2, $resultSet->count());
     $this->assertEquals(array(3.1494078652615), $results[0]->__get('distance'));
     $this->assertEquals(array(7.463982587692456), $results[1]->__get('distance'));
 }
開發者ID:levijackson,項目名稱:Elastica,代碼行數:26,代碼來源:ScriptFileTest.php

示例3: testAddScriptFieldsToArrayCast

 /**
  * @group unit
  */
 public function testAddScriptFieldsToArrayCast()
 {
     $query = new Query();
     $scriptField = new Script('script');
     $query->addScriptField('script', $scriptField);
     $scriptField->setScript('another script');
     $anotherQuery = new Query();
     $anotherQuery->addScriptField('script', $scriptField);
     $this->assertEquals($query->toArray(), $anotherQuery->toArray());
 }
開發者ID:vinusebastian,項目名稱:Elastica,代碼行數:13,代碼來源:QueryTest.php


注:本文中的Elastica\Query::addScriptField方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。