как интегрировать Magnolia CMS с поиском в спящем режиме?

Удалось ли кому-нибудь получить работающее приложение, включающее эти 2 фреймворка?

Проблема, с которой я сталкиваюсь, заключается в том, что зависимости выглядят так:

магнолия 4.4.5 -> apache jackrabbit 1.6.4 -> apache lucene 2.4.1 hibernate search 3.4.1.Final -> apache lucene 3.1.0

Так что есть несоответствие для версии lucene. И мне нужна версия поиска в спящем режиме с аннотациями.

Я действительно пытался интегрировать эти 2, но безуспешно. Надеюсь, у кого-то еще получилось.

Спасибо :)


person Marius    schedule 26.10.2011    source источник
comment
Вы пытались определить зависимость от Hibernate Search 3.4.1 до включения Magnolia 4.4.5 и принудительно исключить Lucene 3.1.0?   -  person Perception    schedule 26.10.2011


Ответы (1)


Мы давно и успешно этим пользуемся. Это действительно отстой, что Jackrabbit так медленно обновляет Lucene. Это усложняет задачу. Я думаю, вам следует рассмотреть возможность использования Solr в отдельной JVM, чтобы избавиться от этой зависимости.

Сказав это, вот как вы можете это решить. Что определяет, что возможно, так это Jackrabbit.

Jackrabbit 1.6.x, и вы ДОЛЖНЫ использовать Lucene 2.4.x. Мы делали это успешно долгое время, но затем были вынуждены использовать старый поиск в спящем режиме. Если хотите, я могу дать вам и этот конфиг.

Но недавно, когда jackrabbit выпустил 2.3.0, он зависит от Lucene 3.0.3. Он ломается на 3.1.0, поэтому вы должны использовать Lucene 3.0.3.

Это наша упрощенная конфигурация:

org.apache.jackrabbit:jackrabbit-core 2.3.0
— исключить org.apache.lucene:lucene-core

org.hibernate:hibernate-core:3.6.7.Final

org.hibernate:hibernate-commons-annotations:3.2.0.Final
— исключить org.hibernate:hibernate

org.hibernate:hibernate-search:3.3.0.Final или 3.4.0.CR1
— исключить org.hibernate:ejb3-persistence
— исключить org.apache.lucene:lucene-core

(3.4.0.CR1 — это последний поиск в спящем режиме, который зависит от Lucene 3.0.3, но если вам не нужны бета-версии, используйте 3.3.0 или 3.3.1)

org.apache.lucene:lucene-ядро:3.0.3

Магнолия 4.4.5

Обычный проект Hibernate Annotations теперь включен в org.hibernate:hibernate-core:3.6.7.Final, поэтому от него не нужно зависеть.

person kimmo    schedule 31.10.2011
comment
Также обратите внимание, что Jackrabbit находится в графике выпуска в стиле Linux, поэтому x.even (2.4.x) является стабильным, а x.odd (2.3.x) — ранним доступом, что не обязательно означает нестабильность. - person sigget; 31.10.2011
comment
Большое тебе спасибо :)! Это сработало отлично. У меня еще вопрос, если можно. Я попытался изменить сопоставление URL-адреса для магнолии на /magnolia/*, но это не сработает для установщика, поскольку он настроен сразу после /. Как я могу сказать магнолии отображать только страницы с /magnolia/* и пружинить каждую вторую страницу... спасибо :) - person Marius; 31.10.2011
comment
Мариус, я делаю это с помощью фильтра, который находится перед фильтром Магнолии в web.xml. Этот фильтр вызывает DispatcherServlet и просто принимает все запросы, которые хочет DispatcherServlet. Если вы создадите новый вопрос на Stackoverflow, я могу дать там подробный ответ. Это слишком большой вопрос. - person kimmo; 14.11.2011