ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
906895 Топик полностью
fk0, легенда (26.02.2019 10:46 - 11:18, просмотров: 101) ответил Звероящер на А как же книги? У меня дома куча книг накопилось от энциклопедий до всякой периодики (чтобы перечитывать на пенсии :) и проблема в том, что каталогизировать уже надо. А это нужон софт какой-то. Кто вот может что подсказать?
Здесь может быть по меньшей мере два подхода. Первый -- это создание каталога файлов, как это в своё время делалось на BBS, из file_id.diz файлов, или иных (.nfo, README, специальные файлы содержащие библиографическую информацию). Каталог будет уже представляться текстовым файлом обозримых размеров, в котором можно в обычном редакторе искать. Но для каждой книги, каждого фильма и т.п. должно быть составлено описание в каком-то виде. Хорошо, что в mp3 и в видео-форматах есть возможность оставлять тэги с описаниями и они там часто есть. Есть специализированное ПО. Можно даже использовать старое, из 90-х, предназначенное для BBS. Есть современные аналоги, например: gwhere, hypercd catalog (cdcat), doc fetcher. Есть специализированное ПО для компьютерных библиотек, но честно говоря даже ключевые слова какие-то забыл. Там идея такая же, что рядом с книгой кладётся специальный файл с описанием и есть программа для сбора всех описаний в единую базу данных. В конце концов такую вещь можно сделать скриптом на любом доступном языке программирования... Второй подход -- это индексация всего текста. Существует множество программ для этого, в своё время натыкался на swish-e, htdig, mnogosearch, glimpse (webglimpse). В общем случае за всеми стоит один подход: файлы через соответствующие фильтры переводятся в обычный текст, для текста составляется индекс, по индексу умеют находить заданные ключевые слова в файлах. Фактически "локальный google". Дьявол как всегда кроется в мелочах: самая очевидная -- русский язык (из-за склонений), опечатки в тексте, не точное задание запроса. Большинство систем разрабатывалось для поиска в англоязычных текстах и их тяжело использовать с русскоязычными так как многие из них ищут слова по точному вхождению или точному префиксу. Так же часть систем использует базу данных (в частности mnogosearch раньше использовало mysql) и попросту заносит в базу данных целиком слова содержащиеся в тексте, и для каждого слова есть список документов и позиций в тексте где оно содержится. В принципе восприняв каждое слово в поисковом запросе и найдя все производные с точки зрения грамматики русского языка можно приблизиться к желаемому результату. Но когда я смотрел оно работало плохо. И, наконец есть технические проблемы: не поддержка не-ASCII кодировок вообще, поддержка только 8-битных кодировок (не UTF-8), путаница с кодировками... Я пользовался и склоняюсь к тому, что наиболее адекватной системой для поиска в файлах или даже для построения своей поисковой системы является glimpse. В основном благодаря тому, что она обладает нечётким поиском. Она хоть и не имеет представления о русском языке, но за счёт того, что допускает некоторое количество ошибок, позволяет находить не совсем то, что написано в поисковом запросе. Кроме того, создаваемые этой системой индексы могут быть небольшими. Расплатой за это является необходимость иметь файлы в доступности в момент поиска (они будут на лето трансформироваться в текст в момент поиска, не все конечно, а выбранное узкое множество). Минусом системы является поддержка только 8-битных кодировок. Практически все тексты с помощью программы konwert, автоматически угадывающей кодировку, приводятся в KOI8-R, например. Ну и второй очевидный минус -- это система "для программистов", требует сложной настройки, GUI нет (кроме веб-интерфейса, но это не снимает сложность настройки). Хотелось бы предостеречь от поиска лёгкого пути, мол "Яндекс-desktop" или кто-то там ещё позволяет установиться одним кликом и всё ищет. Проблемы тут две: во-первых такое решение может перестать работать через год (из-за смены политики Яндекса, из-за смены ОС и т.п.), во-вторых фактически все данные оно отправляет в Яндекс и вообще может ли работать без сети -- вопрос. Ещё, кстати, встроенный поиск в windows не так плох как его малюют. Прямо в explorer. Но как писать фильтры (для перевода конкретного формата файлов в текст) для меня загадка, было бы интересно узнать. Есть ПО для windows и linux с GUI интерфейсом объединяющее оба подхода, но обычно там весь пар ушёл в свисток (создание GUI), а поисковые возможности весьма примитивны. Возможно вообще данные на всех компьютерах следовало бы сделать доступными по сети и, в конечном счёте, доступными через веб. Тогда какая-либо система а-ля web crawler (тот же webglimpse) могла их проиндексировать и через один сайт можно было бы искать на всех компьютерах. Если всё ещё возникает желание установить "Яндекс-desktop", то наверное проще эти веб-сайты сделать доступными для google... Но здесь может быть и другой подход, не обязательно на каждом компьютере поднимать веб-сервер, может быть проще их соединить через samba сеть или, если планируется работа в offline, использовать что-то вроде Andrew FS (или "автономные папки" в windows, которые удалили из домашних версий). PS: google desktop уже прикрыли, yandex desktop уже тоже. Вот так. Всех пинками загоняют в облака. А туда зашифрованный файл не загрузишь, говорит мол, на вирусы ему не проверить, ага.
[ZX]