Railo 4 - какие форматы документов поддерживаются Cfindex / Lucene?
Я думал, что у меня есть простой вопрос, но почему-то я не могу найти источник ответа.... какие форматы документов могут быть проиндексированы версией Lucene, которая поставляется с Railo 4.0?
Каким-то образом.doc и.pdf, кажется, идут хорошо, но docx и rtf просто не индексируются... Есть ли где-нибудь список, доступный? И для всех форматов, которые не поддерживаются, каков наилучший способ индексирования этой информации cfindex?
<cfindex
collection = "#collection#"
action = "update"
type = "file"
key ="#ABSfilepath#"
title="#ABSfilepath#"
>
Спасибо!
Вопрос также размещен в списке рассылки Railo: веб-ссылка.
1 ответ
Railo 4 использует Lucene 2.4.1 - как вы скажете? Точно так же вы указываете версию для всех сторонних программ, которые использует Railo: найдите файл JAR (в каталоге lib/ext), откройте этот архив (используя 7-zip или эквивалентный) и посмотрите на META-INF/MANIFEST.MF, где вы найдете такой контент:
Название спецификации: Поисковая система Lucene: ядро Версия спецификации: 2.4.1 Поставщик спецификации: Название реализации Apache Software Foundation: org.apache.lucene Версия реализации: 2.4.1 750176 - 2009-03-04 21:56:52 Реализация-поставщик: Apache Software Foundation
Кажется, это довольно старая версия и не похоже, что у нее есть какие-либо документы на веб-сайте Apache Lucene. (Возможно, можно обновить Lucene, заменив соответствующие JAR-файлы, но это также может вызвать проблемы с зависимостями; делайте это на свой страх и риск.)
Так как веб-сайт Lucene не помогает, поиск по "индексируемым документам Lucene 2.4.1" возвращает соответствующий вопрос о v2.3.2, который спрашивает:
Поддерживает ли Lucene Java анализ расширений *.docx, *.pptx, *.mpp, то есть документов Microsoft Windows 2007?
С ответом:
Lucene фактически не поддерживает ни один из типов документов. Что происходит, так это то, что какая-то программа используется для анализа файлов в индексируемом потоке, и этот поток индексируется. Это было POI в старые времена.
Итак, при условии, что это все еще точно, Lucene не контролирует типы файлов, Apache POI делает.
Проверка JAR говорит нам, что Railo 4.0 использует Apache POI v3.8, а просмотр журнала изменений POI показывает, что поддержка.docx появилась в v3.5
Таким образом, ваши файлы.docx должны поддерживаться вместе с другими форматами MS Office. Если он определенно не индексируется, вам, вероятно, необходимо определить, является ли это проблемой POI, или проблемой Lucene, или проблемой Railo - создание простого воспроизводимого тестового примера с документами.doc и.docx, вероятно, является хорошим первым шагом.
Кроме того, вам понадобится кто-то, знакомый с Lucene/POI, чтобы дать совет - могут быть или не быть файлы журналов, которые будут содержать подробную информацию о возможных ошибках индексирования / поиска, или способы прямого взаимодействия с Lucene (не через Railo/cfindex), которые могут помогите определить, в чем проблема.