#java #mongodb #jcr
#java #mongodb #jcr
Вопрос:
Могу ли я использовать MongoDB для хранения файла JCR (XML-файла)?
Ответ №1:
Следующая версия Apache JackRabbit с кодовым именем Oak включает хранилище на основе Mongo — микроядро в терминах Oak. Вы можете увидеть некоторые подробности в OAK-619: реализация MongoMK без блокировок.
Ответ №2:
Нет — MongoDB не использует традиционную блокировку, которая, насколько я знаю, требуется для JCR. JCR также включает полнотекстовый поиск в комплекте с Lucene, В то время как вы можете выполнять полнотекстовый поиск в Mongo (используя multikeys), У вас могут отсутствовать некоторые другие функции полнотекстовых поисковых систем (поиск, ранжирование и т. Д.).
В конце концов, JCR действительно предназначен для использования с СУБД, а также с полнотекстовым индексом.
Комментарии:
1. На самом деле MongoDB обеспечивает стемминг, ранжирование, удаление стоп-слов и т. Д. Для получения дополнительной информации см. docs.mongodb.org/manual/core/index-text . Конечно, Lucene (и все его производные, такие как Solr) намного мощнее (например, вы можете создавать свои собственные модули и т. Д.).
2. Брайан, при всем моем уважении, каждое предложение вашего ответа неверно. JCR может работать с файловой системой, или с mongo, или поверх СУБД в качестве серверной части. Ниже приведен мой код, который является инициализатором JCR, который работает как для MongoDB, так И для СУБД: github.com/Clay-Ferguson/meta64/blob/master/src/main/java/com /…
Ответ №3:
Да, Apache Jackrabbit Oak полностью поддерживает MongoDB, и mongo на самом деле является наиболее производительным бэкэндом, который вы можете использовать. Вот пример того, как выполняется инициализация репозитория meta64: