MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Pesquisa de texto completo do MongoDB vs Lucene?


Sem entrar em um longo tópico que provavelmente não seria adequado para um fórum de programação, tentarei cobrir isso basicamente, mas ainda tentarei cobrir os pontos.

A principal coisa a considerar ao saltar para uma comparação ampla é esta:"Como a pesquisa de texto completo do mecanismo de banco de dados relacional 'XYZ' se compara ao Lucene" .

Portanto, se você considerar isso e tiver experiência com os recursos integrados de "texto completo" desses produtos, essas são as maçãs que você deveria estar comparando com as maçãs de "texto completo" do MongoDB.

Resumindo, o MongoDB oferece recursos básicos de texto completo, não muito diferentes daqueles encontrados em produtos relacionais. Conforme mencionado em a:) , as instalações são novas, mas melhores do que havia antes, que não era nada.

Em b:) , Lucene e derivados/contrapartes (Solr / ElasticSearch, etc) devem ser considerados um animal completamente diferente. Onde você precisa tokenização e lematização avançados, recursos integrados para "Mais como este" e contagens de atributos nas pesquisas. Nesses casos, o produto separado é uma necessidade necessária.

É claro que existem várias soluções para indexar dados de lojas MongoDB no Lucene etc, e até mesmo personalizar esse processo não é difícil. Mas está mantendo outra parte móvel em sua infraestrutura.

Portanto, não vejo isso como uma necessidade de comparar Pesquisa de texto do MongoDB com Lucene, porque finalmente eles existem para fazer coisas diferentes, é apenas uma questão do que você precisa para sua aplicação. Escolha a solução que é melhor para você.

A única coisa a acrescentar é que, a família Lucene (e derivados) são ótimos produtos. Não se coíbe de dar-lhes uma chance, pelo menos para avaliar. Os pontos de antes é que há muito mais poder lá do que qualquer "Pesquisa de texto de banco de dados padrão". Além disso, a curva de administração e aprendizado geralmente "não é tão difícil quanto você pensa". Tenha um jogo, pode valer a pena implementar.