Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |
Это не обязательно. Скачать Derby всегда можно http://db.apache.org/derby/. Еще можно посмотреть на проект http://lucene.apache.org/ - это поисковый движок для текстовой информации основанный на индексировании. ИМХО, как раз для: Один раз строится индекс, а дальше поиск идет только по нему. Получается весьма быстро. |