Як знайти повнотекстові файли на полегшених дистрибутивах 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.

Ви все ще використовуєте локацію, знахідку чи сома? Ха! Я продовжував читати ...

Щоб встановити Recoll на Arch та похідні:

yaourt -S recoll

Ви помітите, що recoll має купу пакетів як додаткові залежності:

  • libxslt: для форматів на основі XML (fb2 тощо)
  • розпакувати: для документів OpenOffice.org
  • xpdf: для pdf
  • pstotext: для postscipt
  • антислово: для 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 індексувати вміст відповідних типів файлів. Наприклад, антислово, дозволяє Recoll індексувати вміст файлів .DOC тощо.

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

Як користуватися Recoll

Коли ви запускаєте Recoll вперше, з’явиться екран, показаний нижче. Якщо ви хочете проіндексувати лише ДОМ (повністю), просто натисніть на Почніть індексувати зараз.

Відновити домашній екран

Відновити домашній екран

Recoll має потужні засоби пошуку. На додаток до введення слів для пошуку, він також дозволяє логічний пошук за допомогою пропозицій про близькість, фільтрування типів файлів або розташування. Це також дозволяє здійснювати пошук, сумісний із Xesam, за полем та фільтрувати за датою.

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

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

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

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

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

Відсутні додаткові компоненти

Відсутні додаткові компоненти

En Налаштування> Графік індексування Ви можете налаштувати графік індексування файлів. Очевидно, що для того, щоб Recoll працював добре, йому потрібно проіндексувати всі ваші файли (або принаймні ті, що в папці, яка вас цікавить, як правило, ВАШ ДОМ). Для цього існує 3 альтернативи: індексація вручну (на мою перевагу), індексація через крон або індексація при запуску системи.

Програмування індексування в Recoll

Програмування індексування в Recoll

Магія: поєднання Recoll і dmenu ... чи можливо це?

Так Так. Фокус у тому, щоб знати, що dmenu дозволяє не лише перерахувати програми, але й усе, що ми передаємо йому. Вам просто потрібно зрозуміти, як шукати Recoll за допомогою терміналу і передавати результати в dmenu.

Магія досягається, як могло бути інакше, за допомогою простого сценарій, авторством якого є Массімо Лаурія, і що я наважився трохи змінити, щоб перекласти його на іспанську мову.

Завантажити сценарій

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

Кінцевий результат: повнотекстовий пошук із використанням дуже мало ресурсів. Як сказала б Бамбіно Вейра: "Красуня!"

dmenu під час введення тексту пошуку

dmenu під час введення тексту пошуку

dmenu, що показує результати, повернені методом відновлення

dmenu, що показує результати, повернені методом відновлення

Япа

Ті, хто використовує Ubuntu, можуть отримати подібні результати за допомогою об'єктива Recoll's. Для цього необхідно додати відповідний 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.   елав - сказав він

    Просто чудовий U_U

  2.   давайте використовувати linux - сказав він

    Правильно ... 🙂 І це НАБАГАТО швидше і легше, ніж ваш улюблений KDE ... ха-ха!

    1.    елав - сказав він

      Може бути, але я нічого не міняю вбудовану пошукову систему Dolphin. 😉

      1.    давайте використовувати linux - сказав він

        Ах ... так ... Дельфін - це щось інше ... головні слова.

  3.   АлонсоСанті14 - сказав він

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

    1.    давайте використовувати linux - сказав він

      Я не використовую GNOME, але якщо я добре пам'ятаю, він постачається з інструментом під назвою Tracker, який використовується для повнотекстового пошуку.
      На здоров’я! Павло.

      1.    АлонсоСанті14 - сказав він

        добре, дякую, зараз я шукаю інформацію про Tracker.

  4.   gonzalezmd (# Bik'it Bolom #) - сказав він

    Добре знати ці рішення. Дякую.

    1.    давайте використовувати linux - сказав він

      Вам, для коментарів. 😉

  5.   максимі89 - сказав він

    У моєму випадку я знаю щось дуже просте, що є у всіх дистрибутивах ... це «updatedb», а потім використовую «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 є файл під назвою «клавіші» (знайдений у каталозі /home/usuario/.pekwm/), де гарячі клавіші (або комбінації клавіш ) налаштовано, тому я призначив сценарій комбінації Ctrl + F, але не знаю, чи правильним буде синтаксис команди для її виконання.

      Я покажу вам, як пишеться рядок, що відповідає цій комбінації клавіш:

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

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

      Але натискання клавіш Ctrl + F нічого не відбувається ... Я спробував змінити рядок так, щоб він виконував dmenu замість сценарію і він працював.

      Ще одна річ, яку я зробив, - це запуск сценарію в терміналі, і коли я це зробив, він показав мені таке:

      $ sh search-recoll.sh
      search-recoll.sh: рядок 39: синтаксична помилка, кінець файлу не очікувався

  9.   gonza_212 - сказав він

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

    Тисяча вибачень, все одно дуже дякую.

    Привіт!