Lucene как хранилище данных
Можно ли использовать Lucene в качестве полноценного хранилища данных (например, другие варианты (монго, кушетка) nosql).
Я знаю, что некоторые другие ограничения, такие как недавно обновленные документы одним индексом, не отображаются в другом индексе. Поэтому нам нужно перезапустить индекс для получения обновлений.
Но я натыкаюсь на solr в последнее время, кажется, что эти проблемы устраняются с помощью какой-то репликации моментальных снимков.
Итак, я думал, что могу использовать lucene в качестве хранилища данных, так как он также использует такие же документы (основанные на JSON), используемые монго и кушеткой для управления документами, а проверенный алгоритм индексирования быстро записывает записи.
Но мне любопытно, кто-нибудь пробовал это раньше...? если нет, то какие причины не выбирают этот подход.
Ответы
Ответ 1
Существует также проблема долговечности. Хотя индекс Lucene не должен быть поврежден, я видел, как это происходит. И подход, который использует Lucene для восстановления сломанного индекса, - это "выбросить его и перестроить из исходных данных". Это имеет смысл для инструмента индексирования. Но для этого требуется, чтобы данные хранились где-то еще.
Ответ 2
Я работал только с Solr, производством Lucene (и я бы рекомендовал использовать Solr практически для всех), поэтому мое мнение может быть немного предвзятым, но должно быть возможно использовать Solr в качестве хранилища данных да, 't быть очень полезным без чего-то более постоянного в фоновом режиме.
Проблема, с которой вы можете столкнуться, заключается в том, что ввод данных в Solr не гарантирует, что вы вернете его, когда вы этого ожидаете. Если вы используете довольно строгую фасцию, вы можете столкнуться с проблемами с извлечением ваших данных просто потому, что индексист решил определенным образом выполнить ваши результаты.
Я немного экспериментировал с этим подходом, но единственное реальное преимущество, которое я видел, было в ситуациях, когда вам нужен индекс поиска на стороне клиента, чтобы они могли быстро искать внутри, а затем запрашивать базу данных для получения расширенной информации.
Мое предложение - использовать solr для поиска, а затем вернуть короткую выборку данных, которые вы можете захотеть, а также индекс для дальнейшего запроса в традиционном хранилище данных.
TL; DR: Да, но я бы не рекомендовал его.
Ответ 3
Хранитель использует Solr в качестве хранилища данных. Вы можете увидеть некоторые из их причин в этом слайд-шоу.
В любом случае, я думаю, что их веб-сайт очень сильно продается (конечно, больше, чем все, над чем я работаю), поэтому я думаю, что мне будет комфортно говорить, что Solr, вероятно, сработает для вас, так как он соответствует их требованиям.