Как найти полнотекстовые файлы в облегченных дистрибутивах Linux

Как я полагаю, некоторые из вас знают, что KDE поставляется с Nepomuk, который, помимо прочего, позволяет нам очень легко искать файлы или программы. Просто начни вводить имя, и они исчезнут. Нечто подобное происходит в Unity или GNOME. После внесения некоторых изменений некоторые из них даже позволяют выполнять поиск в файлах (что на английском языке называется «полнотекстовым поиском»). Те, кто когда-либо использовал Windows 7, также поймут, о чем я говорю: просто начните вводить слово, чтобы вызвать связанные файлы или программы.

В более легких дистрибутивах этого добиться немного сложнее. Но метод, которому я собираюсь научить вас, ОЧЕНЬ легкий (в соответствии с дистрибутивами этого типа) и эффективен.

Выбираем пусковую установку: dmenu

Моим первым выбором было попробовать программы запуска, не зависящие от конкретной среды или дистрибутива. Я имею в виду Synapse (который сейчас в моде), Gnome-Do, Kupfer и т. Д. Их всех объединяет одно: они не могут выполнять «полнотекстовый» поиск (то есть внутри файлов). Кроме того, они поставляются с множеством других плагинов, которые мне не очень помогают. Не говоря уже о том, что они не «минималистичны» и достаточно легкие.

Те, кто использует Openbox, Enlightenment или аналогичные, вероятно, знают dmenu. Тем, кто никогда не пользовался, предлагаю посетить этот старый пост где объясняются его основные характеристики. Короче говоря, это ультра-минималистичный и сверхлегкий лаунчер приложений. Но не только это, я не знал, что, если он настроен правильно, его также можно использовать для отображения элементов любого списка, который мы ему передаем. Это открытие открывает двери многим возможностям ...

Чтобы установить dmenu в Arch, просто откройте терминал и запустите:

sudo pacman -S dmenu

Установить Recoll

Вторым открытием стал Recoll. Наш друг Фико говорил о нем Несколько месяцев назад статья, к прочтению рекомендую.

Recoll - это очень легкий инструмент, не зависящий от окружения рабочего стола, позволяющий выполнять поиск по полному тексту («полному тексту»). Очевидно, что для этого вам нужно сначала проиндексировать файлы, что может занять некоторое время, но после того, как начальное индексирование будет выполнено, остальные обновления не займут много времени.

Recoll - это простой в использовании графический интерфейс с множеством опций, разработанный в QT и основанный на поисковой системе. Xapian.

Вы все еще пользуетесь функцией locate, find или catfish? Ха! Я продолжал читать ...

Чтобы установить Recoll на Arch и производные:

yaourt -S recoll

Вы заметите, что у recoll есть несколько пакетов в качестве необязательных зависимостей:

  • libxslt: для форматов на основе XML (fb2 и т. д.)
  • unzip: для документов OpenOffice.org
  • xpdf: для pdf
  • pstotext: для постскипта
  • antiword: для msword
  • catdoc: для ms excel и powerpoint
  • unrtf: для RTF
  • untex: для поддержки dvi с dvips
  • djvulibre: для djvu
  • id3lib: для поддержки mp3-тегов с помощью id3info
  • python2: для использования некоторых фильтров
  • мутаген: аудио метаданные
  • python2-pychm: файлы CHM
  • perl-image-exiftool: данные EXIF ​​из необработанных файлов
  • aspell-en: поддержка стемминга на английском языке

Установка этих пакетов позволит Recoll проиндексировать содержимое файлов соответствующих типов. Например, antiword, позволяет Recoll индексировать содержимое файлов .DOC и т. Д.

Выбор дополнительных компонентов для установки зависит от ваших потребностей и разнообразия типов файлов, хранящихся на вашем компьютере. Однако не стоит отчаиваться, потому что Recoll после индексации наших файлов порекомендует, какие компоненты установить, чтобы повысить их эффективность.

Как пользоваться Recoll

Когда вы запускаете Recoll в первый раз, появится экран, показанный ниже. Если вы хотите проиндексировать только свой ДОМ (полностью), просто нажмите Начать индексацию сейчас.

Восстановить домашний экран

Восстановить домашний экран

Recoll имеет мощные средства поиска. Помимо ввода слов для поиска, он также позволяет выполнять логический поиск с помощью предложений близости, фильтруя типы файлов или местоположение. Он также позволяет выполнять поиск, совместимый с Xesam, по полю и с фильтрацией по дате.

Реакция программы при выполнении поиска и представлении результатов также удивительна по своей скорости и интересна тем, как они представляют эти результаты, определяя наиболее релевантные документы для предоставленных условий поиска и включая предварительный просмотр.

На изображении ниже я решил показать результаты в виде таблицы, хотя Recoll по умолчанию поставляется с другим стилем для отображения результатов, более полным и наглядным.

Результаты поиска в Recoll

Результаты поиска в Recoll

Чтобы увидеть недостающие пакеты, чтобы Recoll мог выполнить полную индексацию ваших файлов, просто перейдите к Файл> Показать отсутствующих помощников.

Отсутствуют дополнительные компоненты

Отсутствуют дополнительные компоненты

En Предпочтения> Расписание индексирования Вы можете настроить расписание индексации файлов. Очевидно, что для правильной работы Recoll необходимо проиндексировать все ваши файлы (или, по крайней мере, файлы в интересующей вас папке, обычно это ваш ДОМ). Для этого есть 3 альтернативы: индексация вручную (я предпочитаю), индексация через крон или индексация при загрузке системы.

Индексирование программирования в Recoll

Индексирование программирования в Recoll

Magic: объединение Recoll и dmenu… возможно ли?

Да да это. Хитрость заключается в том, чтобы знать, что dmenu позволяет не только отображать приложения, но и все, что мы ему передаем. Вам просто нужно выяснить, как искать Recoll с помощью терминала и передавать результаты в dmenu.

Магия достигается, как могло быть иначе, с помощью простого скрипт, авторство которого - Массимо Лаурия, и я осмелился немного изменить его, чтобы перевести его на испанский.

Скачать скрипт

Сохраните файл (скажем, search-recoll.sh). Дайте ему права на выполнение (sudo chmod + для fetch-recoll.sh) и назначьте ему соответствующую комбинацию клавиш. В Openbox это достигается путем редактирования файла ~ / .config / openbox / rc.xml или через графический интерфейс противный.

Конечный результат: полнотекстовый поиск с использованием очень небольшого количества ресурсов. Как сказал бы Бамбино Вейра: "Красавица!"

dmenu при вводе текста для поиска

dmenu при вводе текста для поиска

dmenu, показывающий результаты, возвращенные recoll

dmenu, показывающий результаты, возвращенные recoll

Япа

Те, кто использует Ubuntu, могут получить аналогичные результаты с помощью Recoll's Lens. Для этого необходимо добавить соответствующий PPA и установить следующие пакеты:

sudo add-apt-repository ppa: recoll-backports / recoll-1.15-on sudo apt-get update sudo apt-get install recoll sudo apt-get install recoll-lens

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

19 комментариев, оставьте свой

Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Elav сказал

    Просто отличный U_U

  2.   давайте использовать Linux сказал

    Правильно… 🙂 И он НАМНОГО быстрее и легче вашего любимого KDE… ха-ха!

    1.    Elav сказал

      Может быть, но я ни на что не меняю свой интегрированный поисковик Dolphin. 😉

      1.    давайте использовать Linux сказал

        Ах ... да ... Дельфин это другое ... главное слово.

  3.   АлонсоСанти14 сказал

    а в gnome как мне его настроить, чтобы он выполнял то, что вы говорите "полнотекстовый поиск"?
    Я надеюсь, что вы можете мне помочь, поскольку, если я хочу иметь возможность искать документы таким образом.

    1.    давайте использовать Linux сказал

      Я не использую GNOME, но, если я правильно помню, он поставляется с инструментом под названием Tracker, который можно использовать для полнотекстового поиска.
      Ура! Павел.

      1.    АлонсоСанти14 сказал

        хорошо, спасибо, сейчас я ищу информацию о Tracker.

  4.   гонзалезмд (# Бик'ит болом #) сказал

    Хорошо знать эти решения. Спасибо.

    1.    давайте использовать Linux сказал

      Вам за комментарии. 😉

  5.   maximi89 сказал

    В моем случае я знаю кое-что очень простое, что есть во всех дистрибутивах ... это «updateb», а затем использование «locate file», это очень просто и очень легко ajaaja

    1.    eliotime3000 сказал

      Да, но иногда это весело.

    2.    давайте использовать Linux сказал

      Это неправильно. С помощью locate и updatedb поиск по всему тексту невозможен.
      Ура! Павел

  6.   gonza_212 сказал

    Очень хороший пост, интересная информация ... Тестирую.
    Я захожу на страницу, чтобы загрузить сценарий, который вы оставили последним, но получаю сообщение об ошибке. Буду признателен, если вы сможете загрузить его снова.

    Спасибо большое, привет!

    ????

    1.    давайте использовать Linux сказал

      Это работает хорошо. Попробуйте снова ...

      1.    gonza_212 сказал

        Большое спасибо, теперь я могу его скачать.

        Привет!

        ????

  7.   gonza_212 сказал

    Извините, но я пробовал это на своем компьютере, и у меня это не работает. У меня есть ArchLinux с менеджером PekWM (без среды рабочего стола)… но скрипт, похоже, не работает. Кто-нибудь может мне помочь?

    Спасибо большое, привет!

  8.   давайте использовать Linux сказал

    Не могли бы вы немного подробнее указать, что вам не подходит?

    1.    gonza_212 сказал

      Правда в том, что я не знаю, будет ли он работать ... в диспетчере PekWM есть файл с именем «keys» (находится в каталоге /home/usuario/.pekwm/), где горячие клавиши (или сочетания клавиш ) настроены, поэтому я назначил скрипту комбинацию Ctrl + F, но я не знаю, будет ли правильный синтаксис команды для его выполнения.

      Я покажу вам, как пишется строка, соответствующая этой комбинации клавиш:

      KeyPress = "Ctrl F" {Actions = "Exec` sh search-recoll.sh`"}

      примечание: скрипт search-recoll.sh находится у меня дома, то есть в / home / myuser /

      Но при нажатии Ctrl + F ничего не происходит ... Я попытался изменить строку, чтобы она выполняла dmenu вместо скрипта, и она работала.

      Еще я запустил указанный скрипт в терминале, и когда я это сделал, он показал мне следующее:

      $ sh search-recoll.sh
      search-recoll.sh: строка 39: синтаксическая ошибка, конец файла не ожидался

  9.   gonza_212 сказал

    Извините за неудобства, я уже решил проблему. Случилось так, что я загрузил скрипт из пасты, и поэтому возникла проблема в коде, который он использует. Следовательно, необходимо скопировать все содержимое и вставить его в пустой файл, чтобы это не создавало неудобств.

    Тысяча извинений, в любом случае большое спасибо.

    Привет!