Каковы преимущества и недостатки использования поисковой системы в качестве хранилища ключевых значений?
-
20-09-2019 - |
Вопрос
Учитывая поисковую систему, такую как Lucene, и набор XML-документов, которые необходимо полностью сохранить, каковы преимущества и недостатки использования поисковой системы в качестве хранилища значений ключей для возврата XML-файлов с учетом уникального первичного ключа, который содержит каждый документ?
Решение
Читать Поисковая система против СУБД.IMO, ваше приложение относится к области СУБД и, вероятно, лучше всего будет обслуживаться базой данных ключ-значение, такой как CouchDB.Это происходит потому, что вы не используете никаких преимуществ текстовых операций, таких как токенизация, стемминг и т.д.
Другие советы
Если вы используете что-то вроде Компас, и это Механизм сопоставления XML с Lucene, это отличное решение для хранения XML-документов и выполнения запросов к ним без обращения к базе данных XML.
Одним из недостатков является то, что XML-документы могут быть получены только через Lucene API (базовое хранилище данных довольно непроницаемо), но я могу с этим смириться.
Если все, что вы собираетесь сделать, это проверить равенство ключей и извлечь большой двоичный объект, Lucene не имеет видимого преимущества, скажем, перед bdb.И у вас нет транзакций до тех пор, пока вы не наложите поверх что-то еще.И параллелизм сопряжен с определенными сложностями.И API, ну, немного барочен для той простой вещи, которую вы делаете.
Я реализовал что-то вроде того, что вы описали, но фактический полнотекстовый поиск по данным был критическим требованием, которое оправдывало все остальное.