Stack Overflow em Português Asked by Guilherme de Jesus Santos on January 7, 2021
Qual a diferença entre ElasticSearch, Solr e Lucene?
Quando usar um ou outro?
Você deve saber que ambos servem para fazer buscas em conteúdos diversos.
Lucene está em um nível mais baixo. Por isso dá mais flexibilidade e ajuste fino do que deseja fazer. Por outro lado você tem que saber fazer tudo o que precisa, dá mais trabalho. Costuma ser interessante quando quer embutir a busca dentro da sua aplicação e processá-la como quiser.
Solr é uma abstração construída em cima do Lucene e é bem mais fácil de usar, com quase tudo pronto. Ainda é possível ter bastante flexibilidade, mas para isso dá mais trabalho e tem algumas limitações, dá menos trabalho fazer o padrão dele. Ele atende a maioria das situações já que é mais ou menos raro precisar fazer algo diferente do que ele oferece.
Existe uma infraestrutura mais ampla oferecida por esta ferramenta. Isto inclui serviços HTTP que permitem usar a busca até mesmo sem usar a API na linguagem de programação (Java por exemplo) e sim consumir o serviço pronto pela web.
Alguns recursos disponíveis:
Note que versões mais recentes do Lucene já possuem muitos dos recursos do Solr e está cada vez mais diminuindo a distância entre eles. Mas ainda há a diferença de como o serviço é oferecido.
O Elastic Search é um concorrente do Solr. Ele é considerado mais moderno por muitos e de fato tem mais facilidades que o Solr, tem um modelo que atende melhor muitas necessidades, principalmente de distribuição (o que é raro precisar) e atualização próxima do tempo real. Não dá para dizer que ele é mais adequado que o Solr sempre, até porque ele tem algumas limitações também, o modelo dele pode dificultar certas necessidades. E dizem ser ainda mais fácil trabalhar com ele.
Tem um site que faz uma comparação entre eles (que são mais comparáveis diretamente).
Um erro comum é as pessoas acharem que todo mundo precisa da solução mais escalável possível. Não, você não é o Facebook. Ou mesmo a Stack Exchange que é absurdamente menor. Quando eu falo que o SQLite está bom para 90% dos casos e um servidor SQL resolve 99% que tenha full text search, tem gente que não acredita.
Estes mecanismos são ótimos e algumas coisas prontas deles são bem interessantes, mas raramente precisa-se de algo além do trivial, especialmente quando falamos de escala.
Correct answer by Maniero on January 7, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP