Pergunta

Eu tenho um banco de dados MS SQL e tem um campo varchar que eu gostaria de fazer consultas como where name like '%searchTerm%'. Mas agora é muito lento, mesmo com indexação de texto completo da empresa SQL.

Alguém pode explicar como Lucene .Net pode ajudar a minha situação? Como funciona o indexador? Como fazer consultas trabalho?

O que é feito para mim, e o que eu tenho que fazer?

Foi útil?

Solução

Eu vi esse cara (Michael Neel) presente no Lucene em uma reunião grupo de usuários - de forma eficaz, você constrói arquivos de índice (usando Lucene) e eles têm ponteiros para o que quiser (linhas de banco de dados, seja qual for)

http://code.google.com/p / vinull / fonte / browse / # svn / Exemplos / LuceneSearch

Muito rápido, flexível e poderosa.

boa do que com Lucene é a capacidade de indexar uma variedade de coisas (arquivos, imagens, linhas de dados) juntos em seu próprio índice usando Lucene e depois traduzir isso de volta para o seu domínio do negócio, enquanto que com o SQL Server, tudo isso tem a estar em SQL a ser indexado.

Ele não se parece com seus slides estão lá em cima no código do Google.

Outras dicas

Este artigo (curiosamente é no topo dos resultados de pesquisa do Google :) tem uma boa descrição de como a busca Lucene pode ser otimizado.

Corretamente configurado Lucene deve facilmente bater SQL (pré 2005) pesquisa de texto completo de indexação. Se você em MS SQL 2005 e seu desempenho de pesquisa ainda é muito lento que você pode considerar verificar sua configuração DB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top