Mysql
 sql >> Base de données >  >> RDS >> Mysql

Créer un index Lucene dans la base de données à l'aide de JdbcDirectory

J'ai créé ma propre implémentation JdbcDirectory, même si elle s'appuierait sur JEE6 pour tirer parti de @Singleton annotation. Le code lui-même n'est pas trop simple à coller dans un article StackOverflow et il a encore quelques limitations. L'élément clé étant que vous ne pouvez pas effectuer plusieurs opérations sur une seule transaction en utilisant plusieurs threads en raison de la sémantique de verrouillage de la base de données.

https://github.com/trajano/doxdb/tree/jdbc-directory-example/doxdb-ejb/src/main/java/net/trajano/doxdb/search/lucene

En regardant votre implémentation, il semble que vous conserviez également les "fichiers" supprimés, probablement parce qu'ils auraient moins de fragmentation sur le magasin de base de données, alors que le mien, j'avais supprimé l'enregistrement lui-même.

J'ai marqué une version avec laquelle je travaille et qui semble suffisamment stable pour mes charges de test. N'hésitez pas à faire des commentaires ou des suggestions à ce sujet.