|
Сообщения за день | Добавить альбом | Поиск | Правила форума |
|
Опции темы | Опции просмотра |
26.01.2006, 21:33 | #1 |
MySQL, разнородные данные, индексация
Необходимо разработать БД на основе MySQL, в которой будет храниться разнородная информация: .txt, .doc, .xls, etc... Необходимо реализовать полнотекстовый поиск по базе.
Вопрос: как это сделать? Бинарники хранить в blob-ах? Или в базе хранить толко ссылки на файлы и индексы? А как вообще быть с DOC-ами? Есть в MySQL (или в PHP) средства импорта/экспорта в DOC/XLS ? Уважаемые программеры, посоветуйте чего дельного, пожалуйста...
__________________
[!!!] проблемы с сетью? 223-17-43 __________________
Мы баним с улыбкой. © |
|
26.01.2006, 22:11 | #2 |
waiting for god
|
невыполнимо.
как ты планируешь на лету sql-запросом просканировать *.xls файл? измени исходные условия, например, введи ключевые слова.
__________________
... и был я слеп, но теперь вижу. |
26.01.2006, 22:43 | #3 | |
Цитата:
Нет. Я не планирую сканировать "на лету". При загрузке документа в базу будет проводиться его индексация и в базу ляжет индекс данного документа, по которому в последствии и будет вестись поиск. Вот как эту индексацию делать. Есть способы кроме OLE, например? Может быть есть какие-то сторонние библиотеки/модули под мускл/пхп ?
__________________
[!!!] проблемы с сетью? 223-17-43 __________________
Мы баним с улыбкой. © |
||
27.01.2006, 00:01 | #4 |
waiting for god
|
ммм, поясни пожалуйста, что ты подразумеваешь под "индексацией" документа?
не вполне представляю, как можно "проиндексировать" рабочую книгу экселя? или как по ней затем выполнить полнотекстовый поиск? сканирование таблицы "на лету", пожалуй, единственный приемлемый способ по скорости выполнения. если же ты хочешь дополнительными средствами разбирать блоб вне mysql - ну ты и получишь в час по чайной ложке. что касается расширений языка sql-92 - ну да, есть pl-sql. но даже и в нём я не припомню подобной функциональности, хотя это совершенно иной уровень.
__________________
... и был я слеп, но теперь вижу. |
27.01.2006, 01:47 | #5 |
Гость
Сообщений: n/a
|
Если *.doc новый, 2003 - то пробем не будет, ибо это xml. Если старый - то да. Слыхал, что есть класс для работы с *.doc, но на perl. Если дело планируеться на винде (что мало вероятно для php), то есть скоростная утилитка zd2t.exe. Она у меня к фару прилеплена как просмоторшик. Для люни? Да должно быть чего, в крайнем случае (но до этого дело вряд ли дойдет) выдерни исходники и abiword к примеру. Но это вряд ли, экспортер должен быть.
*.xls - вроде есть бибка какая то. Непомню. Индексировать бинарные файлы этих докуменов я смысла не вижу. Где хранить - в бд или в катологах решать вам. Но как юзер скажу - в катологах в разы лучше. Нет лишней нагрузки на бд. Но зато нет зашиты от левых скачиваний. Кароче, чё здесь тему разводить? Поисковики заплесневеют... |
28.01.2006, 17:42 | #6 | |||
Новичок
Регистрация: 17.08.2004
Сообщений: 780
|
Цитата:
Экспорт/Импорт в офисные документы можно делать либо руками где угодно (форматы файлов можешь найти здесь http://www.wotsit.org/) либо под Windows: за деньги - http://wordcnv.com/dev.html, бесплатно - использовать конвертеры от MS, которые идут вместе с офисом или бесплатными смотрелками документов. Как хранить? К тому моменту как ты разберешся с индексацией и полнотекстовым поиском обычного текста вопрос хранения документов у тебя решится сам собой Цитата:
Цитата:
|
|||
28.01.2006, 19:21 | #7 | ||
waiting for god
|
Цитата:
и ещё один вопрос, повторно - не вполне представляю, как можно "проиндексировать" рабочую книгу экселя, да ещё и средствами сервера БД. как это можно проделать? Цитата:
__________________
... и был я слеп, но теперь вижу. Последний раз редактировалось nolan; 28.01.2006 в 20:14. |
||
28.01.2006, 19:54 | #8 |
Некоторые уточнения.
Платформа: Win. Инструментарий: PHP+MySQL. Входные данные: TXT, DOC, XLS, PDF (etc, may be...) Требуется реализовать полнотекстовый поиск. Соображения на данный момент такие. В БД грузится документ-исходник и его т.н. унифицированное(внутреннее) представление - простая текстовая форма. В принципе кое-какие консольные конвертеры я уже откопал. Далее вопрос уже такой: как реализовать поиск? Просто искать средствами MySQL по текстовым формам? Или попытаться соорудить собственный индекс, хранить его в базе и искать уже по нему?
__________________
[!!!] проблемы с сетью? 223-17-43 __________________
Мы баним с улыбкой. © |
|
28.01.2006, 21:33 | #9 | ||||
Новичок
Регистрация: 17.08.2004
Сообщений: 780
|
Цитата:
Следующий этап: для оптимизации таблиц вводится термин "стоп слово". Это слова не несущие содержательного смысла: предлоги, союзы, частицы и разные часто употребимые слова. Такие слова не заносятся. Следующий этап: для поиска фраз и нечеткого поиска вводится понятие расстояния между словами. Следующий этап: для поиска по всем словоформам в словарь слов добавляется инвариант слова. Т.е. слово без приставок, суффиксов и окончаний. Этим занимается морфологический анализатор или стеммер. Следующий этап: вводится понятие ранга или веса документа, т.е. насколько этот документ полезен для пользователя. Ранг расчитывается по хитрой формуле, учитывающий "заточенность" документа под какую-то тему и "индекс цитируемости". Но этим как правило заморчиваюся поисковики масштаба предприятия как минимум (напр Google-Mini). Цитата:
Цитата:
Цитата:
Последний раз редактировалось COBEHOK; 28.01.2006 в 21:46. |
||||
28.01.2006, 22:04 | #10 | |
Цитата:
__________________
[!!!] проблемы с сетью? 223-17-43 __________________
Мы баним с улыбкой. © |
||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Появились данные первой четверки процессоров AMD FX, но пока не все | RSS | Железо - Новости | 0 | 14.03.2011 19:50 |
Появились данные первой четверки процессоров AMD FX, но пока не все | RSS | Железо - Новости | 0 | 14.03.2011 18:30 |
Появились данные первой четверки процессоров AMD FX, но ока не все | RSS | Железо - Новости | 0 | 14.03.2011 18:00 |
MySQL | Чатланин | Прикладное программное обеспечение | 3 | 14.11.2007 22:37 |
|