An open API service indexing awesome lists of open source software.

https://github.com/arrisframework/sphinxql.pdo.wrapper

Arris µFramework SphinxQL PDO Wrapper
https://github.com/arrisframework/sphinxql.pdo.wrapper

arris manticoresearch pdo-wrapper searchd

Last synced: about 2 months ago
JSON representation

Arris µFramework SphinxQL PDO Wrapper

Awesome Lists containing this project

README

        

# Arris µFramework SphinxQL PDO Wrapper

```php
use \Arris\Toolkit\SphinxQL\PDOWrapper;

$mysql_connection = new \Arris\Database\DBWrapper([
'driver' => 'mysql',
'hostname' => getenv('DB.HOST'),
'username' => getenv('DB.USERNAME'),
'password' => getenv('DB.PASSWORD'),
'database' => getenv('DB.NAME'),
'charset' => 'utf8',
'charset_collate' => 'utf8_general_ci',
'slow_query_threshold' => 1
]);

$sphinx_connection = new \Arris\Database\DBWrapper([
'driver' => 'mysql',
'hostname' => getenv('SEARCH.HOST'),
'database' => NULL,
'username' => getenv('SEARCH.USER'),
'password' => getenv('SEARCH.PASSWORD'),
'port' => getenv('SEARCH.PORT'),
'charset' => NULL,
'charset_collate' => NULL
]);

$toolkit = new PDOWrapper($mysql_connection, $sphinx_connection);
$toolkit->setRebuildIndexOptions([
'log_rows_inside_chunk' => false,
'log_after_chunk' => false,
'sleep_after_chunk' => $options['is_sleep'],
'sleep_time' => $options['sleeptime'],
'chunk_length' => $options['sql_limit']
]);
$toolkit->setConsoleMessenger([ \Arris\Toolkit\CLIConsole::class, "say" ]);

$rt_index = getenv('SEARCH.RT_INDEX.ARTICLES');
if ($rt_index) {
// статьи
$count_rebuilt['articles'] =
$toolkit->rebuildAbstractIndex(
'articles',
$rt_index,
static function ($item) {
return \FSNews\SearchEngine::prepare_RTArticle($item, true);
},
" s_draft = 0 ",
true,
['rubrics', 'districts']
);
} else {
CLIConsole::say("[SEARCH.RT_INDEX.ARTICLES] disabled");
}

```