TNTSearch – полнотекстовый поиск на PHP
Создание индекса
use TeamTNT\\TNTSearch\\TNTSearch;
$tnt = new TNTSearch;
$tnt->loadConfig([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'dbname',
'username' => 'user',
'password' => 'pass',
'storage' => '/var/www/tntsearch/examples/'
]);
$indexer = $tnt->createIndex('name.index');
$indexer->query('SELECT id, article FROM articles;');
//$indexer->setLanguage('german');
$indexer->run();
Поиск
use TeamTNT\\TNTSearch\\TNTSearch;
$tnt = new TNTSearch;
$tnt->loadConfig($config);
$tnt->selectIndex("name.index");
$res = $tnt->search("This is a test search", 12);
print_r($res); //returns an array of 12 document ids that best match your query
//to display the results you need an additional query
//SELECT * FROM articles WHERE id IN $res ORDER BY FIELD(id, $res);
Спик Инглиш
14.05.2016 at 23:15А если русский или украинский контент? Нужна, ведь, функция игнора окончаний: "Веселов", "ВеселовУ", "ВеселовА"…
Игорь
15.05.2016 at 10:21Честно, я не смотрел как он работает на деле. Смотря какой словарь делает, может и можно..