Действительно ли MongoDB является допустимой альтернативой реляционному дб + lucene?

На новом проекте мне нужно трудное использование lucene для реализации искателя. Этот искатель будет очень важным (и большой) часть проекта. Допустимая или удобная Реляционная база данных замены + Lucene с MongoDb?

править: Хорошо, я разъяснюсь: я не спрашиваю о риске, я могу заплатить ту цену в этом проекте. Моя точка: MongoDB ориентирован на такого рода вещь? Я могу сделать полную поисковую систему с той же производительностью, как я могу войти в Lucene?. Друг указывает на меня MongoDB как альтернатива, но я не вижу, идет ли работа Lucene с альтернативой документа (и затем, я буду видеть его в MongoDB также), или, в другой руке, инвертированный индекс и optimitizations являются complety независимым политиком ориентации документа.

34
задан Hugo 30 March 2010 в 16:01
поделиться

6 ответов

Я не знаком с MongoDB, поэтому не могу прямо ответить на этот вопрос, но хочу отметить, что в отличие от Lucene (которой около десяти лет) и реляционных баз данных (которые существуют уже несколько десятилетий) MongoDB существует менее трех лет.

На данном этапе игры она, вероятно, все еще созревает. Она может подойти для ваших нужд (и мне любопытно узнать, может быть, кто-нибудь из знакомых с ее использованием отзовется здесь), но вам нужно будет учесть это в своем уравнении. Готовы ли вы заплатить цену за использование передовой технологии?

Даже если она окажется достаточно стабильной и эффективной, вы можете столкнуться с проблемами ограниченной поддержки в виде веб-сайтов/учебников и т.д. (из-за небольшой базы пользователей). (из-за небольшой базы пользователей). Кроме того, вы рискуете столкнуться с тем, что эта программа будет снята с производства.

Возможно, стоит рискнуть, но делать это нужно с открытыми глазами, а не ослепленным эффектом "о, посмотрите на новую блестящую игрушку".

1
ответ дан 27 November 2019 в 17:16
поделиться

Lucene - признанный и стабильный продукт. Увы, этого еще не произошло с MongoDB. Поэтому я думаю, что Lucene плюс СУБД - гораздо менее рискованный вариант.

Конечно, в определенной степени это зависит от характера проекта: насколько важно «очень важно (и велико)»? Другое дело, есть ли у вас предыдущий опыт работы с MongoDB (я полагаю, что нет)? Если вы можете получить доступ к людям, имеющим некоторый опыт, это снизит риск.

0
ответ дан 27 November 2019 в 17:16
поделиться

Нет, это не так, поскольку MongoDB не является реляционным.

-7
ответ дан 27 November 2019 в 17:16
поделиться

Технически вы можете выполнять полнотекстовый поиск с помощью MongoDB, но вы упускаете многое из того, что может предложить поставщик полнотекстового поиска. Мне нравится MongoDB, но я бы совмещал его с поставщиком полнотекстового поиска (например, Lucene или Sphinx), если время до внедрения вообще беспокоит. Я думаю, что удобную способность MongoDB индексировать массивы слов лучше оставить тегам и поиску на основе тегов, чем полнотекстовый поиск.

Поиск (поиск информации) - это не просто захват любых документов, которые совпадают. Если вы хотите, чтобы результаты поиска имели хоть какую-то релевантность, вам понадобится что-то вроде TF-IDF, фразовое соответствие (слова в последовательности выше) или любое количество других методов IR для повышения точности поиска. Если вы используете MongoDB, вам нужно будет реализовать все с нуля.

Если вы действительно хотите реализовать все это с нуля, но не беспокоиться о необработанном хранилище вещей, MongoDB довольно близок к лучшему хранилищу БД, на котором вы могли бы реализовать его поверх (не могу вспомнить многие другие) , но это все равно не делает его отличным вариантом.

19
ответ дан 27 November 2019 в 17:16
поделиться

Выглядеть можно, но медленнее ( см. Здесь )

  • Вам придется разбивать слова и ограничивать себя.
  • Для ранжирования запросов «для этого требуется код, предоставленный пользователем»
2
ответ дан 27 November 2019 в 17:16
поделиться

CouchDb кажется (n другой) возможной альтернативой для использования Lucene через проект couchdb-lucene .

3
ответ дан 27 November 2019 в 17:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: