Насколько я знаю, у вас нет официального (поддерживается/полное) решение для интеграции MongoDB и Solr, но позвольте мне дать вам некоторые идеи/направление.
Для меня самый лучший подход, когда можно изменить приложение и добавить к персистентности тот факт, что у вас есть все записи операций сделано в MongoDB и Solr в «же» время. Таким образом вы можете точно контролировать, что хотите отправить в базу данных и что хотите индексировать для полнотекстовой операции. Но, как я сказал, это означает, что вам нужно изменить код приложения. (Вы все равно измените его, чтобы иметь возможность запросить Solr, когда это необходимо). И да, вы должны сначала проиндексировать все существующие документы
Вы можете использовать подход «коннектора», где MongoDB и Solr связаны друг с другом, это можно сделать разными способами.
Вы можете использовать, например, разъем MongoDB доступный здесь: https://github.com/10gen-labs/mongo-connector
LucidWorks, компания за Solr также имеет разъем для MongoDB, документированной здесь: http://docs.lucidworks.com/display/help/Create+a+New+MongoDB+Data+Source# (я не использовал его так не могу комментировать, но это также подход)
вы указываете # 2 верно, вы должны управлять два кластера и убедитесь, что данные находятся в синхронизации, а иногда и платить цену несоответствия между индексом Solr и документ просто обновлен в MongoDB ... Поэтому вам нужно посмотреть, подходит ли наилучший подход для вашего приложения, чтобы использовать MongoD в одиночку B или MongoDB с Solr (см комментарии ниже)
Просто небольшой комментарий в дополнение к этому ответу: Вы говорите «быстрее поиска», не уверен, что это должно быть причиной, если вы пишете правильные запросы с правильные индексы в MongoDB, вы должны иметь возможность сделать это без Solr. Если вы действительно ориентируетесь на силу значения solr: полный текстовый индекс (со всеми связанными функциями имеет смысл)
Спасибо Tug Grall за подробный ответ. У нас также есть возможность создания текстового поиска в монго, и у него есть хорошая функция индексации, с точки зрения более быстрого поиска, будет ли она близка к производительности поиска Solr? Даже если он близок, с ним все в порядке. В основном мы пытаемся создать небольшую POC для индексирования результатов поиска VS Solr в mongodb. – Shivaprasad
Да, это должно быть, но, как вы можете догадаться, это зависит от самого набора данных, типа запроса ... лучше всего проверить. (должно быть легко, так как у вас уже есть данные и знаете, какой запрос вы хотите) - просто чтобы я мог указать на документацию: http://docs.mongodb.org/manual/core/index-text/ –