Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Web библиотека на Java/Oracle


Автор: 3,14 25.8.2004, 14:25
Хочу сделать web библиотеку на java, но чтоб поиск был не только по автору и названию книги, но и по тексту (как в acrobat-овских документах), но чтоб индексы поиска хранились в базе, может кто делал что-нить подобное и может библиотеки какие посоветовать, формат хранения электоронных книг...

Автор: AntonSaburov 25.8.2004, 14:54
Формат достаточно сильно зависит от содержимого.
Если там сплошной текст, то наиболее удачным мне показалось решение, когда весь текст бъется на строки, которые влезают в VARCHAR2 и тогда можно производить поиск легко и просто. Если же возможны всевозможные кратинки и прочая двоичная информация, тогда можно попробовать делать какие-то спец. теги и делать в них ссылки. Правда потом отрисовыать все это тоже будет сложно (но можно).

И если мне не изменяет память многим понравился пакет для работы с базами данных http://sourceforge.net/projects/hibernate/

Автор: 3,14 25.8.2004, 15:01
Не просто текст, в этой библиотеке будут содержатся книги связанные с IT а так же по математике и физике, следовательно различных формул и диаграмм там будет не мерянно, не думаю что целесообразно сами книги впихивать в базу данных, но вот если сделать индексацию поиска и результат поместить в БД - было бы прекрасно.

Автор: AntonSaburov 25.8.2004, 15:10
Ну тогда лучше действительно в базу некий список основных слов заталкивать для каждой книги и осуществлять поиск по такому списку. Правда как лучше его составить - может лучше у podval спросить с разделах "Алгоритмы". Просто пока JAVA тут мало актуальна. Надо IMHO первоначально с харнилищем данных разобраться. А потом уже интерфейс к базе можно обсудить. Тут как раз для JAVA и найдется местечко smile.gif

Автор: 3,14 26.8.2004, 12:26
А какие есть идеи по поводу хранилища? Мне в голову кроме XML ничего не приходит sad.gif

Автор: AntonSaburov 26.8.2004, 14:53
Если ты будешь просто слова хранить, то может и текст подойдет. Хотя с другой стороны если библиотека многоязыкая, то может потребоваться кодировку как-то учитывать.
Но тогда IMHO - хранить в базе текст в Юникоде.

Вообщем много ко многим через три таблицы
Книги <-> Связка <-> Слова

Хотя может для скорости плюнуть на нормалиpацию и хранить слова прямо
Книги <-> Слова (один ко многим).

Места займет больше. Зато при больших объемах (а так скорее всего и будет) выборка будет работать быстрее скорее всего.

Автор: 3,14 26.8.2004, 15:22
А сам формат книг, их же под общий знаменатель загонять придётся...

Автор: AntonSaburov 26.8.2004, 16:05
Цитата(3)
А сам формат книг, их же под общий знаменатель загонять придётся...

Не понял - а при чем тут формат ?
Ты что хочешь получить ? Список книг с ключевыми словами, но и в придачу сами книжки хранить ?

Автор: 3,14 26.8.2004, 16:07
Да, хочу хранить и сами книги, абы доступ к ним с сайта был, абы не только искать но и качать можно было

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)