Обновить
20
1
AlexXYZ@AlexXYZ

Пользователь

Отправить сообщение
Да? А php не стороннее средство? Если по-вашему, я совсем не в тему, то приношу извинения. Подобного решения ведь, как у Вас, в общем-то никто, вроде, не предлагал, поэтому я и написал свой ответ сюда. Но ведь и PHP тоже не все разработчики жалуют, чтобы писать решение исключительно для него. Просто я хотел немного добавить и углубить ;), т.к. Вы же сами в начале написали

«Правильно, чистый текст, полученный из, к примеру, документа Word представляет собой достаточно перемешанную кашу. Но этого «бардака» вполне достаточно для построения, например, индекса для поиска по обширному хранилищу офисных документов.»

Индекс-то для чего нужен? Задача-то в конце концов состоит в том, чтобы найти нужный текст? Так? Данные в разных форматах типа Word, Excel, ODT некоторые разработчики хранят в базе данных. А сегодня нету индексатора не html/plain-текстовых форматов напрямую в базе данных, вот и приходится так выкручиваться, чтобы получать «шистый» текст, опять затолкать его в базу данных и там уже проиндексировать plain/html/text парсером. Вот ноги растут именно отсюда, т.к. для индексации по файлам использование программ на php вообще не нужно и с этой задачей лучше справится тот же Yandex.Server, а если немного покумекать, то и Google.Desktop можно на сервер прикрутить и сделать корпоративный поиск по файлообменнику, что собственно я уже давно сделал. И индексируется шустро и отдельно текстовую лапшу хранить не надо. Всё-таки если и выбирать по результату поиска между собственной системой и Yandex.Server, то я бы предпочёл Yandex.Server. Ведь всё равно и у Вас и у него будет лапша, а если нет разницы, зачем платить больше? (это был риторический вопрос ;)
В общем решение получается такое:

Используем Yandex.Server.Enterprise 2009.05. Натравливаем его на каталог, в котором лежат нужные файлы и ждём окончания индексации. С помощью утилиты tarcview можно получить текстовое представление файла, которое и было проиндексировано этой программой. Только утилиту tarcview нужно запускать со следующими параметрами:

/usr/local/bin/tarcview -ew /*/*/workindex/index N
Где N — номер документа во внутренней коллекции Yandex.Server. Параметр -ew дополнительно ещё выдаст в запросе имя проиндексированного файла. Будет выдано немного текстовой лапши перед основным текстом, но и в таком виде результат просто СУПЕР!!!
Просто поверите ли Вы в то, что это одно решение для всех этих форматов?
Товарищи, верители вы, что есть решение проще? И верители ли вы, что это простое решение может годится для форматов XML, RTF, PDF, MP3, FLASH, MS Word, MS Excel, MS PowerPoint? И поверите ли вы, что это решение может быть кроссплатформенное? ;))))
12 ...
64

Информация

В рейтинге
1 962-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность