Запрос Jackrabbit на jcr:content

Я использую jackrabbit 2.6, и у меня есть следующая структура узлов.

[nt:file]  
  |-- [nt:file]
         |-- [nt:resource]

В nt:resource nodetype есть свойство "jcr:data" с потоком файла, который я хочу сохранить.

Я не знаю, как создать запрос, чтобы получить все узлы nt:resource по содержимому.

Если бы этот запрос

select * from [nt:resource] as r 
where contains(r.[jcr:content], '*tristique*')

но он возвращает пустой результат. Что мне не хватает? Включен ли поиск по содержимому по умолчанию в jackrabbit?

Спасибо


person egesuato    schedule 29.09.2014    source источник


Ответы (1)


Похоже, что jackrabbit не индексировал обычные текстовые файлы, потому что кодировка не сохранялась.

Я добавил:

node.setProperty(JcrConstants.JCR_ENCODING, encoding);

и теперь текстовые файлы индексируются и полнотекстовый поиск работает нормально.

person egesuato    schedule 03.10.2014