ruskid / sphinx-config-generator-php
Sphinx config generator
dev-master
2017-09-25 14:14 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-11-27 09:15:26 UTC
README
Didn't like existing solutions, decided to create my own. Sharing is caring.
Installation
The preferred way to install this extension is through http://getcomposer.org/download/.
Either run
php composer.phar require ruskid/sphinx-config-generator-php "dev-master"
or add
"ruskid/sphinx-config-generator-php": "dev-master"
to the require section of your composer.json
file.
Usage
$handler = new ConfigGenerator([ 'filepath' => __DIR__ . '/sphinx-generated.conf' ]); //Add Index config $handler->addConfig(new Config([ 'name' => 'indexer', 'attributes' => [ ... 'mem_limit' => '32M' ... ] ])); //Add search daemon config $handler->addConfig(new Config([ 'name' => 'searchd', 'attributes' => [ ... 'listen' => '9306:mysql41', 'log' => '/var/log/searchd.log', ... ] ])); //Add sources $handler->addSource(new Source([ 'name' => 'base', 'attributes' => [ 'type' => 'mysql', 'sql_host' => 'host', 'sql_user' => 'username', 'sql_pass' => 'password', 'sql_db' => 'database', 'sql_port' => '3306', 'sql_query_pre' => [ 'SET CHARACTER_SET_RESULTS=utf8', 'SET NAMES utf8' ], ] ])); $handler->addSource(new Source([ 'name' => 'extending_source', 'extends' => 'base', 'attributes' => [ 'sql_field_string' => [ 'label', ], 'sql_attr_string' => ['label_url'], 'sql_attr_float' => ['latitude', 'longitude'], 'sql_attr_uint' => ['province_id', 'population'] ] ])); //Add indexes $handler->addIndex(new Index([ 'name' => "extending_source_index", 'attributes' => [ ... 'source' => 'extending_source' 'path' => "/var/data/extending_source_index", ... ] ])); $handler->getContents(); // get contents to be saved to .conf $handler->saveConfig(); //save config file to filepath
Be aware
Maintain order of sources extending base sources...