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


Автор: Tony 22.11.2006, 13:28
Приветик всем.
Нужно хранить много текстовй информации. Примерно 10000 - 20000 строк в файле. Соответственно нужно искать там текст и вытаскивать всю строку.Вопрос 4то выбрать для максимальной производительности?

Тоесть текcт будет храниться в виде строки так:

...
гфдйгкфгфд гдфг дфг дфг фг дфг 80 91
трертд гфсдфсдфсдфсддфг дфг дфг фг дфг 100 12
...

80 91 - байты специальой информации(80 и 91 есть 2 байта).
Есть 4 варианта как сделать:
1)XML парсить SAX'om
2)Serializacija
3)Обы4ный текстовой файл
4)Файл произвольного доступа.

Автор: Goliath 22.11.2006, 18:36
Лично я бы выбрал XML, так как по нему проще производить поиск и редактирование, это в случае если не важен размер файла.

Автор: LSD 22.11.2006, 18:44
1. Какого рода поиск? По номеру строки, по подстроке, по слову или фразе и т.п.?
2. Строки в файле могут обновляться/удаляться?

Автор: powerOn 22.11.2006, 20:36
Можно еще использовать Embedded Database, типа Apache Derby (которая будет встроена в jdk6)

Автор: Tony 22.11.2006, 22:06
Пока у нас неу jdk6.
1)Данные будут доставаться по поиску подстраки в стоке
2)Обнавлятья и добавляться не будут.

Автор: LSD 23.11.2006, 00:00
Если поиск будет идти по фразам, то стоит прикрутить сюда полнотекстовый поиск (его можно как к БД прикрутить так и к обычному текстовому файлу).
Если поиск будет по произвольной подстроке, то пожалуй обычный текстовой файл подойдет.

Автор: powerOn 23.11.2006, 00:18
Цитата(Tony @  22.11.2006,  22:06 Найти цитируемый пост)
Пока у нас неу jdk6.

Это не обязательно. Скачать Derby всегда можно http://db.apache.org/derby/.

Еще можно посмотреть на проект http://lucene.apache.org/ - это поисковый движок для текстовой информации основанный на индексировании. ИМХО, как раз для:
Цитата(Tony @  22.11.2006,  22:06 Найти цитируемый пост)
Обнавлятья и добавляться не будут. 

Один раз строится индекс, а дальше поиск идет только по нему. Получается весьма быстро.

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