![]() |
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). Цитата:
Цитата:
Цитата:
|
Цитата:
|
Аргументы? Это уже работает и не надо писать самому. Более того в случае Ms Sql там все оттестировано и оптимизировано.
|
Люди подскажите,где взять прогу для создания Баз на основе MySQL?
|
поищи Navicat на 9-ке и красфайлесе
|
А там есть описание?
|
Описание чего? На какие кнопки нажимаеть чтоли?
Есть хелп, а остальное все стандартно, а вообще важно знать ситаксис Sql и вопросов меньше будет. |
Цитата:
Есть MySQL Administrator. Небольшая программка от создателей мускуля. Удобный интерфейс, простота. Самую свежую версию можно скачать с http://dev.mysql.com/downloads/administrator/index.html . Есть уже скаченная на работе, если не забуду - то в воскресение принесу. |
Для операций с базами MySQL пользую MySQL-front...
|
Кстати, по сабжу.
Решил информацию с помощью консольных конвертеров перегонять в плэйн-текст и этот текст уже пихать в базу. Для поиска решил пока остановиться на встроеных средствах полнотекстового поиска MySQL... Вроде для моих целей их должно хватить... |
Цитата:
|
Цитата:
здесь (ftp://ftp2.rastr.net.ru/incoming/soft/Office/convert/). Может быть еще кому-нибудь действительно пригодится. |
| Текущее время: 05:07. Часовой пояс GMT +7. |
Форум открыт в июле 2004 г.