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);

https://github.com/teamtnt/tntsearch | DEMO

0 comments
  1. Спик Инглиш
    Спик Инглиш
    14.05.2016 at 23:15

    А если русский или украинский контент? Нужна, ведь, функция игнора окончаний: "Веселов", "ВеселовУ", "ВеселовА"…

    Reply
  2. Игорь
    Игорь
    15.05.2016 at 10:21

    Честно, я не смотрел как он работает на деле. Смотря какой словарь делает, может и можно..

    Reply
Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

Scroll Up