Estou em busca de uma solução para o seguinte problema:
Tenho um campo no banco que armazena várias palavras chave, ex.: "redes wiriless cabeado"
quero selecionar todos os registros que possuam wiriless, mas que não selecione por exemplo wwwirilesss
Estou usando Hibernate, já tentei com like e retornará qualquer ocorrencia da substring wiriless
não quero fazer uma seleção desnecessária, que dependendo da quantidade de registros comprometerá a peformance da aplicação.
Pesquisas por palavras-chave NUNCA devem ser feitas com LIKE se a tabela for muito grande - normalmente você acaba efetuando um “table scan” na tabela inteira, e dependendo da tabela isso pode ser muito custoso (e em alguns bancos, enquanto você efetua um table scan, a tabela fica “travada” para atualizações).
Elas devem sempre ser feitas de acordo com o recurso que o seu banco de dados tem, diretamente com JDBC.
Procure na documentação de seu banco pelas palavras-chave: “Full-Text Search” ou “FTS”.
blz, o hibernate search já conheco e ja estou trabalhando na integração dele com o framework de desenvovimento que trabalho, porém preciso de uma solução de imediato para este problema.
Sua resposta foi a melhor possível, Hibernate Search.
vou arranjar uma solução temporária e depois utilizarei o hibernate search
valeu pela resposta.
t+++