Estamos fazendo um levantamento na empresa, para instalação do Oracle Text e, gostaria de saber dos mais experientes, os que já o utilizam, se estamos no caminho correto:
Necessidade: Realizar busca de strings dentro de campos Blob armazenados no BD (pdf, doc, txt, zip etc).
Dúvidas:
1 - É a "feature" ideal para tal?
2 - Quais os "contra" da aplicação desses pacotes no BD?
Eu já desenvolvi uma aplicação APEX (uma adaptação de aplicação APEX do ASKTOM) que consultava textos em uma base ORACLE 9i. Para isso, usei o recurso de ORACLE TEXT.
Minha base de conhecimento armazenava documentos PDF em campos LOB. Constatei que nas pesquisas ele localizava palavras dentro destes documentos.
Me parece que o ORACLE TEXT é uma ótima ferramenta para pesquisas de textos, mas considere os seguintes pontos:
- Um indice do tipo CONTEXT não é atualizado automaticamente quando você faz INSERT,UPDATE ou DELETE de novos textos na base. Sempre será necessário você sincronizar os índices. Se a sua base vai sofrer muita atualização nos campos textos, leve isso em conta, pois você precisará ter uma rotina que constantemente terá que sincronizar os índices com "CTX_DDL.SYNC_INDEX".
- Após a sincronização, sempre ocorre a necessidade de atualizar as estatísticas dos indices. E leve também em conta que estes índices podem se fragmentar com a continua operação DML dos campos texto indexados. Você poderá otimizar eles com a rotina CTX_DDL.OPTIMIZE_INDEX;
- Cada índice CONTEXT corresponde no final a um "grupo de índices e tabelas auxiliares". E eles costumam crescer bastante e ocupar um espaço considerável da base. Eu me recordo de uma aplicação EBS que eu administrei onde os índices CONTEXT eram os maiores vilões, pois não costumavam reduzir seu tamanho.
Leve tudo isso em conta ao implementar o ORACLE TEXT. Acho uma ferramenta muito legal.
Valeu Countinho, obrigado pelas considerações.
Serão bastante úteis nas análises aqui.
Vou realizar os testes em uma base em casa e, posto novidades aqui.
Grande abraço.