Ответ 1
Без блуждания по длинной теме, которая, вероятно, не подходит для форума по программированию, я постараюсь в основном покрыть это, но все-таки попытаюсь прикрыть точки.
Главное, что следует учитывать при переходе к широкому сравнению, заключается в следующем: "Как" полный текстовый поиск "для реляционной базы данных" XYZ "стекается против Lucene".
Итак, если вы считаете это, и у вас есть опыт со встроенными возможностями "полного текста" этих продуктов, то это те, которые вы должны сравнивать с явными "полнотекстовыми" ящиками MongoDB.
Короче говоря, MongoDB предлагает базовые полнотекстовые возможности, не сильно отличающиеся от тех, которые встречаются в реляционных продуктах. Как упоминалось в a:), объекты новы, но лучше, чем раньше, что было нечем.
В b:), Lucene и производные/аналоги (Solr/ElasticSearch и т.д.) следует рассматривать как совсем другое животное. Где вам требуется продвинутый токенизация и создание, встроенные средства для "Больше похоже на это" и фасет рассчитывает на поиск. В этих случаях отдельный продукт является необходимой необходимостью.
Конечно, есть несколько решений для индексирования данных из магазинов MongoDB в Lucene и т.д., и даже настроить этот процесс не сложно. Но он поддерживает другую движущуюся часть вашей инфраструктуры.
Поэтому я действительно не вижу в этом необходимости сравнивать текстовый поиск MongoDB с Lucene, потому что в конечном итоге они существуют, чтобы делать разные вещи, это просто вопрос того, что вам нужно для вашего приложения. Выберите оптимальное для вас решение.
Единственное, что нужно добавить, это то, что семейство Lucene (и производных) - отличные продукты. Не уклоняйтесь от того, чтобы дать им поход, по крайней мере, оценить. Точки, которые были раньше, там намного больше, чем любой "Стандартный поиск текста базы данных". Кроме того, кривая администрирования и обучения обычно "не такая сложная, как вы думаете". Имейте игру, это может быть целесообразно реализовать.