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), которые могут помогите определить, в чем проблема.

Другие вопросы по тегам