This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-17. For the latest, interactive version please visit https://mariadb.com/kb/.

Does the Sphinx Storage Engine support RT indexes? Can you write to them from MariaDB?

Sphinx has a special RT (real time) index type. These indexes can accept writes (from the Sphinx doc):

RT index can be accessed using MySQL protocol. INSERT, REPLACE, DELETE, and SELECT statements against RT index are supported.

Does MariaDB support write statements to a rt index through the Sphinx Storage Engine? Can replication be made to update a Sphinx Storage Engine like a trigger on a table causing the new data to be inserted / updated / deleted on a Sphinx RT table? Triggers and Stored Routines have their own issues (like not being replicated in ROW based replication) but is there a way to tightly couple the rt index to changes in a slave db?

If I can make this work it would solve a difficult issue.

Answer Answered by Andrew Aksyonoff in this comment.

SphinxSE is essentially a rather simple search client library that runs with MySQL or MariaDB server, not a full blown storage engine.

While in theory it's now possible to have it proxy INSERTs, DELETEs and other writes to Sphinx, it was never initially designed for this, so that change could be cumbersome.

However we have a subproject underway in Sphinx to enable native replication directly from MySQL to Sphinx, without any plugins or SEs or whatever. Looks like that's what you're looking for.

So if you'd like to be an early alpha tester for that, once it becomes useable, let me know :) My email is shodan at sphinxsearch dot com.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.