I’m testing Omeka S’s full-text search feature. While the default full-text search support of MySQL/MariaDB’s InnoDB works very will for English, it cannot index Japanese text (probably the same in Chinese or Korean).
Instead of using Solr module, I have tested Mroonga, a plugin for MySQL/MariaDB that provides a better CJK full-text search and it worked satisfactorily as far as I tested. (only tested with test data)
Using Mroonga is quite simple - just ALTER TABLE the ‘fulltext_search’ table as follow:
ALTER TABLE fulltext_search DROP FOREIGN KEY FK_AA31FE4A7E3C61F9;
ALTER TABLE fulltext_search ENGINE Mroonga COMMENT ‘engine “InnoDB”’
ALTER TABLE fulltext_search ADD CONSTRAINT FK_AA31FE4A7E3C61F9 FOREIGN KEY ( owner_id ) REFERENCES ‘user’ (‘id’) ON DELETE SET NULL;
So, now I plan to develop an Omeka S module to use Mroonga, but facing a problem.
How can the module get the name of the FOREIGN KEY of the fulltext_search table?
‘FK_AA31FE4A7E3C61F9’ seems very strange for me. I found that the name in application/data/migrations/20190515055359_AddOwnerAndIsPublic.php, but cannot understand the background of the name.