当前位置: 首页>>代码示例>>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;未经允许,请勿转载。