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

Solr e MySQL, como manter um índice atualizado e um banco de dados é necessário mesmo se for simples?


Usar um banco de dados ou não realmente se resume a quanto tempo você deseja manter e aumentar esses dados. É muito, muito mais fácil corromper um índice Solr inteiro (e perder todos os seus dados) do que corromper um banco de dados inteiro. Além disso, o Solr não tem um ótimo suporte para modificar um esquema sem iniciar com um novo índice. Por exemplo, você pode adicionar outro campo muito bem, mas não pode alterar o nome ou o tipo de um campo sem eliminar seu índice.

Se você for com um banco de dados, poderá configurar o Solr para indexar diretamente do banco de dados usando DataImportHandler . Para o seu esquema, isso deve ser bastante simples, mas isso pode se tornar doloroso rapidamente à medida que seu banco de dados se torna mais complexo. Eu acho que há alguma vantagem em usar os objetos do Hibernate que você já configurou e apenas inseri-los usando o Solrj. O outro ponto problemático com DataImportHandler é que ele é completamente controlado usando http. Portanto, você precisa gerenciar tarefas cron separadas (ou algum outro código) para lidar com o agendamento usando wget ou curl .