public function testOrderModeExtended() { $criteria = new ESphinxSearchCriteria(); $criteria->sortMode = ESphinxSort::EXTENDED; try { $criteria->addOrder('', ''); $this->setExpectedException('ESphinxException'); } catch (Exception $e) { $this->assertInstanceOf('ESphinxException', $e); } try { $criteria->addOrder('field', 'OSC'); $this->setExpectedException('ESphinxException'); } catch (Exception $e) { $this->assertInstanceOf('ESphinxException', $e); } $criteria->addOrder('field1', 'asc'); $criteria->addOrder('field2', 'DESC'); $this->assertEquals($criteria->getOrders(), array('field1' => 'ASC', 'field2' => 'DESC')); $criteria->cleanOrders(); $this->assertEquals($criteria->getOrders(), array()); $criteria->addOrders(array('field1' => 'asc', 'field2' => 'desc')); $this->assertEquals($criteria->getOrders(), array('field1' => 'ASC', 'field2' => 'DESC')); }
public function testExtendedSort() { $sphinx = $this->createConnection(); $criteria = new ESphinxSearchCriteria(); $criteria->sortMode = ESphinxSort::EXTENDED; $criteria->addOrder('user_id', 'ASC'); $criteria->addOrder('id', 'DESC'); $query = new ESphinxQuery('', 'article', $criteria); $result = $sphinx->executeQuery($query); $this->assertEquals($result->getFound(), 5); $this->assertEquals($result[0]->id, 1); $this->assertEquals($result[1]->id, 2); $this->assertEquals($result[2]->id, 3); $this->assertEquals($result[3]->id, 5); $this->assertEquals($result[4]->id, 4); }