Парсеры — это программы, конвертирующие какой-либо опрделенный тип файла (mime type) в text/plain или text/html.
Внешние парсеры позволяют поисковому движку DataParkSearch Engine индексировать не только html-страницы, но и множество других форрматов файлов, например документы Mirosoft Office, PDF-документы, и даже Flash.
Для добавления новых парсеров используется специальная директива Mime в indexer.conf. Она имеет следующий синтаксис:
Mime <from_mime> <to_command line>
Здесь опция from_mime указывает исходный Mime-type документа, to_mime — тип, в который будет преобразован, а command line — сам парсер.
Вот пример директивы объявления парсера файлов Microsoft Word (*.doc):
Mime application/msword text/plain "/usr/bin/catdoc -a $1"
Как видите, в качестве парсера можно использовать любую linux-программу (или shell-скрипт, или даже конвейер), которая читает данные из файла и выводит их на экран.
Аналогично можно добавить парсер сжатых man-страниц:
Mime application/x-gzipped-man text/plain "zcat | deroff"
Парсер, будучи обычнй программой, имеет некоторую вероятность зависания. А если парсер зависнет, то это затормозит весь поцесс индексации.
Чтобы частично огородить себя от зависания процесса индексации, следует в indexer.conf прописать время, отводимое парсеру на выполнение своей работы:
ParserTimeOut 600
По истечении этого времени парсер будет автоматиески остановлен.
Остались вопросы? Задавайте.
Вот что ещё интересует: возможно ли реализовать мета поиск с использованием ещё своей базы? Если да то как? Я видел поисковик нигма.ру у него вроде как именно такая фича!
Не ясна суть вопроса.
Своей базы чего? Сайтов? Данных?