Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Criar índice Lucene no banco de dados usando JdbcDirectory


Eu criei minha própria implementação do JdbcDirectory, embora dependesse do JEE6 para aproveitar o @Singleton anotação. O código em si não é muito trivial para colar em uma postagem do StackOverflow e ainda tem algumas limitações. Parte fundamental é que você não pode fazer várias operações em uma única transação usando vários encadeamentos devido à semântica de bloqueio do banco de dados.

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

Olhando para sua implementação, parece que você também está mantendo os "arquivos" excluídos, provavelmente porque teria menos fragmentação no armazenamento do banco de dados, enquanto o meu eu removi o próprio registro.

Eu marquei uma versão com a qual estou trabalhando que parece estável o suficiente para minhas cargas de teste. Sinta-se à vontade para fazer comentários ou sugestões sobre ele.