Форум сайта python.su
0
Хочу сделать редактор для работы с текстами (Библия). Подскажите как лучше хранить большие тексты, чтобы можно было осуществлять быстрый поиск по тексту. Есть 2 варианта: хранить в html-файлах или в базе данных sqlite в виде таблиц. Какому варианту отдать предпочтение? Прога предполагается для Линукса, так как для винды такая уже есть.
Офлайн
33
Отдавайте предпочтение тому варианту, который для вас понятнее и выводит нужную информацию для дальнейшей работы с текстом.
Одно дело, когда вам нужно только имя файла с искомым текстом.
Другое, когда вам нужно выделить искомый текст и перейти в редакторе к нему для удобства пользователя.
Какие инструменты для поиска использовать в том и другом случае вы знаете?
Офлайн
0
LexanderДа собственно никаких. :( Просто мне кажется что быстрее будет искать по базе данных, чем открывать-закрывать кучу html-файлов и в каждом искать.
Какие инструменты для поиска использовать в том и другом случае вы знаете?
Офлайн
52
Anton11, вы уверены, что хорошо изучили существующие решения?
В любом случае, думаю, логично предположить, что понадобится локальная структура проекта (из тех же html-файлов) и база данных, по которой будет идти поиск. В базе данных может лежать мета-информация по локальному документу, в котором находится запрошенная фраза. То есть поиск идёт по базе (например, с помощью sphinx), а в выдаче есть ссылки на определённые файлы, которые удовлетворяют запросу. Я себе это представляю так. Хотя на небольших объёмах информации дублировать данные в базу смысла не имеет. Нормальный поисковой движок пробежится по всем апокрифам быстрее, чем вы моргнёте глазом.
Не думаю, что имеет смысл писать это полностью самостоятельно, задача совсем не специфичная, нужно просто поискать готовые варианты.
Но меня сильно смущает слово редактор. Для редактирования лучше использовать веб-сервисы. Ту же wiki.
Отредактировано fata1ex (Июль 3, 2012 19:01:47)
Офлайн
33
fata1ex
По файлам можно и грепом искать в данном случае.
Общий объем файлов то небольшой.
Anton11
С точки зрения разработки, вне зависимости от типа хранилища поиск - это одна команда.
Запрос в БД (в FTS3 или FTS4 для sqlite - match) или вызов команды встроенных утилит поиска Linux (grep).
Решите для себя какой путь вам ближе и понятнее.
И потом приходите за более конкретным советом, если не разберетесь сами.
Кстати, использование готового редактора wiki, который предложил fata1ex - тоже хороший вариант.
Поиск уже встроен. Редактор в браузере - кроссплатформенный.
Офлайн
0
Короче я хочу сделать аналог программы “Цитата из Библии” для линукса. Под линуксом такой проги мне найти не удалось. Чтобы был поиск по тексту, чтобы можно было сохранять в заметках избранные стихи со ссылками на главы и номера стихов, копировать в буфер цитату со ссылкой и подключать модули с другими писаниями. В Цитате всё сделано в html файлах и есть есть ini-файлы. Но там много лишних на мой взгляд фишек.
Офлайн
52
Anton11, помоему это делает любая читалка. Закладки, цитирование, пометки “на полях”, виртуальная библиотека с разными книгами и тд. Что-то типа fbreader, calibre и тп. Плюс к этому повсеместное распространение электронных книг и планшетов, которые поддерживают весь указанный функционал (умноженный при желании на десять).
Да и смысла делать “прогу для линукса” становится с каждым годом месяцем всё меньше. Лучше сделать приятный веб-проектик, которому будет всё равно, с линукса на него заходят или нет.
Отредактировано fata1ex (Июль 4, 2012 02:15:52)
Офлайн
72
На линуксе нельзя такую прогу запускать - демоны попадают.
Офлайн