Как использовать индексы Solr из Elasticsearch

Я был с помощью Solr для индексирования и поиска. Теперь, мои новые данные индексируются на elasticsearch. Как использовать индексы Solr из elasticsearch для комбинированного поиска?

Так как Solr и elasticsearch оба построены над Apache Lucene, должен быть способ / плагин для использования индексов Solr в форме elasticsearch правильно?

моя попытка:

нашел реки для этого, но рек устаревший в elasticsearch от 1.5.0.

2 ответов


вы не можете сделать это напрямую (без миграции данных), поскольку их внутренние структуры/представления несовместимы. Их языки запросов также несовместимы.

но вы можете использовать Федеративный движок перед ними, например Carrot2.


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

кстати, река дает вам то же самое ограничение: "только сохраненные поля могут быть получены из Solr, поэтому индексируются в elasticsearch"