![]() |
MySQL, разнородные данные, индексация
Необходимо разработать БД на основе MySQL, в которой будет храниться разнородная информация: .txt, .doc, .xls, etc... Необходимо реализовать полнотекстовый поиск по базе.
Вопрос: как это сделать? Бинарники хранить в blob-ах? Или в базе хранить толко ссылки на файлы и индексы? А как вообще быть с DOC-ами? Есть в MySQL (или в PHP) средства импорта/экспорта в DOC/XLS ? Уважаемые программеры, посоветуйте чего дельного, пожалуйста... |
невыполнимо.
как ты планируешь на лету sql-запросом просканировать *.xls файл? измени исходные условия, например, введи ключевые слова. |
Цитата:
Нет. Я не планирую сканировать "на лету". При загрузке документа в базу будет проводиться его индексация и в базу ляжет индекс данного документа, по которому в последствии и будет вестись поиск. Вот как эту индексацию делать. Есть способы кроме OLE, например? Может быть есть какие-то сторонние библиотеки/модули под мускл/пхп ? |
ммм, поясни пожалуйста, что ты подразумеваешь под "индексацией" документа?
не вполне представляю, как можно "проиндексировать" рабочую книгу экселя? или как по ней затем выполнить полнотекстовый поиск? сканирование таблицы "на лету", пожалуй, единственный приемлемый способ по скорости выполнения. если же ты хочешь дополнительными средствами разбирать блоб вне mysql - ну ты и получишь в час по чайной ложке. что касается расширений языка sql-92 - ну да, есть pl-sql. но даже и в нём я не припомню подобной функциональности, хотя это совершенно иной уровень. |
Если *.doc новый, 2003 - то пробем не будет, ибо это xml. Если старый - то да. Слыхал, что есть класс для работы с *.doc, но на perl. Если дело планируеться на винде (что мало вероятно для php), то есть скоростная утилитка zd2t.exe. Она у меня к фару прилеплена как просмоторшик. Для люни? Да должно быть чего, в крайнем случае (но до этого дело вряд ли дойдет) выдерни исходники и abiword к примеру. Но это вряд ли, экспортер должен быть.
*.xls - вроде есть бибка какая то. Непомню. Индексировать бинарные файлы этих докуменов я смысла не вижу. Где хранить - в бд или в катологах решать вам. Но как юзер скажу - в катологах в разы лучше. Нет лишней нагрузки на бд. Но зато нет зашиты от левых скачиваний. Кароче, чё здесь тему разводить? Поисковики заплесневеют... |
Цитата:
Экспорт/Импорт в офисные документы можно делать либо руками где угодно (форматы файлов можешь найти здесь http://www.wotsit.org/) либо под Windows: за деньги - http://wordcnv.com/dev.html, бесплатно - использовать конвертеры от MS, которые идут вместе с офисом или бесплатными смотрелками документов. Как хранить? К тому моменту как ты разберешся с индексацией и полнотекстовым поиском обычного текста вопрос хранения документов у тебя решится сам собой :) Цитата:
Цитата:
|
Цитата:
и ещё один вопрос, повторно - не вполне представляю, как можно "проиндексировать" рабочую книгу экселя, да ещё и средствами сервера БД. как это можно проделать? Цитата:
|
Некоторые уточнения.
Платформа: Win. Инструментарий: PHP+MySQL. Входные данные: TXT, DOC, XLS, PDF (etc, may be...) Требуется реализовать полнотекстовый поиск. Соображения на данный момент такие. В БД грузится документ-исходник и его т.н. унифицированное(внутреннее) представление - простая текстовая форма. В принципе кое-какие консольные конвертеры я уже откопал. Далее вопрос уже такой: как реализовать поиск? Просто искать средствами MySQL по текстовым формам? Или попытаться соорудить собственный индекс, хранить его в базе и искать уже по нему? |
Цитата:
Следующий этап: для оптимизации таблиц вводится термин "стоп слово". Это слова не несущие содержательного смысла: предлоги, союзы, частицы и разные часто употребимые слова. Такие слова не заносятся. Следующий этап: для поиска фраз и нечеткого поиска вводится понятие расстояния между словами. Следующий этап: для поиска по всем словоформам в словарь слов добавляется инвариант слова. Т.е. слово без приставок, суффиксов и окончаний. Этим занимается морфологический анализатор или стеммер. Следующий этап: вводится понятие ранга или веса документа, т.е. насколько этот документ полезен для пользователя. Ранг расчитывается по хитрой формуле, учитывающий "заточенность" документа под какую-то тему и "индекс цитируемости". Но этим как правило заморчиваюся поисковики масштаба предприятия как минимум (напр Google-Mini). Цитата:
Цитата:
Цитата:
|
Цитата:
|
| Текущее время: 17:05. Часовой пояс GMT +7. |
Форум открыт в июле 2004 г.