Problém s reindexováním (main + delta indexy)
Neexistuje žádný "hook" pro sql_query_pre_merge, takže se musí ručně volat skriptík, který upravý index v pomocných tabulkách.
Diskuze o tomto problému [uloženo]
Domácí hrátky
sudo apt-get install sphinxsearch
/www/sphinxsearch/etc/sphinx.conf
indexer --config /etc/sphinxsearch/sphinx.conf --rotate testIndex
Testy SphinxQL:
mysql -h 0 -P 9312
/www/sphinxsearch/bin/indexer --config /www/sphinxsearch/etc/sphinx.conf --rotate testIndex
CREATE TABLE `sphinx_test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`userId` int(10) unsigned NOT NULL COMMENT 'Id of user',
`value` varchar(128) NOT NULL COMMENT 'Value for Sphinx',
`index_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci COMMENT='Testing Sphinx table';
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený pes');
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený zvíře');
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený prase');
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený kohout');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený pes');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený zvíře');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený prase');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený kačer');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený lilipután');
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`userId` int(10) unsigned NOT NULL COMMENT 'Id of user',
`value` varchar(128) NOT NULL COMMENT 'Value for Sphinx',
`index_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci COMMENT='Testing Sphinx table';
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený pes');
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený zvíře');
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený prase');
INSERT INTO sphinx_test (userId, `value`) values (1, 'červený kohout');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený pes');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený zvíře');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený prase');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený kačer');
INSERT INTO sphinx_test (userId, `value`) values (2, 'zelený lilipután');