Рассмотрим работу через интерфейс SphinxQL.
Все что нам надо, это:
1.Написать драйвер SphinxQL, который будет внедрен в обертку Kohana_Database. Ничего сложного, код почти схож с драйвером MySQL.
2.Внести настройки подключения к Sphinx.
И так. Создаем ядро драйвера Kohana_Database_SphinxQL в /modules/database/classes/kohana/database/sphinxql.php
class Kohana_Database_SphinxQL extends Database { }
И в тело класса помещаем содержимое из класса Kohana_Database_MySQL. Только потом надо убрать строчки $this->_select_db($database).
Затем создаем сам драйвер Database_SphinxQL который наследует Kohana_Database_SphinxQL соответственно.
После всего надо дописать настройки подключения в конфиг и пробуем подключиться.
class SphinxqlTest extends Kohana_UnitTest_TestCase { protected $db = null; public function setUp() { parent::setUp(); // Подключиться к Sphinx $this->db = Database::instance('sphinx'); } public function testQuery() { // Test Sphinx init $this->assertNotNull($this->db); $search = '"искомое слово"'; $sql = "SELECT * FROM items WHERE MATCH('@title ".$search." ')"; $result = $this->db->query( Database::SELECT, $sql ) ->as_array(); $this->assertEquals( count($result), 20 ); } }
| < Предыдущая | Следующая > |
|---|


