Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Pesquisa de texto completo (FTS) do SQL Server 2008 versus Lucene.NET


O SQL Server FTS será mais fácil de gerenciar para uma pequena implantação. Como o FTS é integrado ao banco de dados, o RDBMS trata da atualização do índice automaticamente. O contra aqui é que você não tem uma solução de dimensionamento óbvia a não ser replicar bancos de dados. Portanto, se você não precisa dimensionar, o SQL Server FTS provavelmente é "mais seguro". Politicamente, a maioria das lojas ficará mais confortável com uma solução SQL Server pura.

Do lado do Lucene, eu preferiria o SOLR ao invés do Lucene direto. Com qualquer uma das soluções, você precisa trabalhar mais atualizando o índice quando os dados são alterados, bem como mapeando os dados para o índice SOLR/Lucene. As vantagens são que você pode dimensionar facilmente adicionando índices adicionais. Você pode executar esses índices em servidores Linux muito enxutos, o que elimina alguns custos de licença. Se você seguir a rota Lucene/SOLR, eu tentaria colocar TODOS os dados necessários diretamente no índice, em vez de colocar ponteiros de volta ao banco de dados no índice. Você pode incluir dados no índice que não são pesquisáveis, por exemplo, você pode ter um HTML ou XML pré-criado armazenado no índice e servi-lo como um resultado de pesquisa. Com essa abordagem, seu banco de dados pode estar inativo, mas você ainda pode exibir os resultados da pesquisa em um modo desconectado.

Nunca vi uma comparação direta de desempenho entre o SQL Server 2008 e o Lucene, mas adoraria ver uma.