Esempio n. 1
0
 public function testQueryName()
 {
     $expected = array('Arinsal' => array('Arinsal'), 'ARINSAL' => array('Arinsal'), 'Arins' => array(), 'el serrat' => array('El Serrat'), 'Soldeu Andorra' => array('Soldeu'), 'Andorra Soldeu' => array('Soldeu'), 'El serrat Andorra' => array('El Serrat'), 'El Andor ser' => array(), 'El Andorra' => array('El Tarter', 'El Serrat'), 'serrat Andorra' => array('El Serrat'));
     foreach ($expected as $term => $expectedList) {
         $searchQuery = new CM_Elasticsearch_Query_Location();
         $searchQuery->queryName($term);
         $source = new CM_PagingSource_Elasticsearch_Location($searchQuery);
         $this->_assertItemsByName($expectedList, $source->getItems(), 'Wrong items for term `' . $term . '`.');
     }
 }
Esempio n. 2
0
 /**
  * @param string                 $term
  * @param int                    $minLevel
  * @param int                    $maxLevel
  * @param CM_Model_Location|null $location
  */
 public function __construct($term, $minLevel, $maxLevel, CM_Model_Location $location = null)
 {
     $term = (string) $term;
     $minLevel = (int) $minLevel;
     $maxLevel = (int) $maxLevel;
     $query = new CM_Elasticsearch_Query_Location();
     $query->filterLevel($minLevel, $maxLevel);
     if (strlen($term) > 0) {
         $query->queryName($term);
     }
     $query->sortLevel();
     if ($location) {
         $query->sortDistance($location);
     }
     $query->sortScore();
     $source = new CM_PagingSource_Elasticsearch_Location($query);
     $source->enableCacheLocal();
     parent::__construct($source);
 }