Благоприятное для командной строки полнотекстовое индексирование?

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

AWK: учебное руководство и введение

Краткая информация AWK (ссылка высокого звука)

RegularExpressions.info

учебное руководство по sed

учебное руководство по grep

info sed, info grep и info awk или info gawk

37
27.01.2011, 13:23
7 ответов

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

Для Lucene существует некоторая информация о выполнении этого доступного.

Сфинкс, немного более неопределенно, но существует также некоторая доступная документация. Можно передать структурированные данные XML по Вашему выбору сфинксу через xmlpipe2 источник данных.

Lucene полагается на Java, в то время как Сфинкс создается в C++ без необходимых внешних зависимостей.

Любой собирается потребовать, чтобы немного работы сделало то, что Вы хотите, но, походит на полностью осуществимое решение.

11
27.01.2020, 19:36
  • 1
    Как в стороне, если Вы хотите индексировать данные, это находится в DB (postrgres, mysql) затем, любой из них также работает невероятно хорошо. –  gabe. 14.10.2010, 06:14
  • 2
    хм, я уволил сфинкса за то, что он был слишком низким уровнем, но посмотреть на xmlpipe2 кажется, что сценарий обертки для pdf2txt и т.п. был бы довольно легок... –  julien 14.10.2010, 16:02
  • 3
    +1 для упоминания в Lucene. У меня были хорошие времена с Lucene, это - уничтожающий материал!! –  Nikhil Mulley 07.01.2012, 15:08
  • 4
    я верю elasticsearch, основан на lucene и мог бы быть более удобен для использования (являющийся высокоуровневой вещью). –  offby1 30.07.2017, 21:56

Средство отслеживания может быть вызвано из командной строки, и gtk + не является трудной зависимостью для проекта (но может быть для пакетов).

3
27.01.2020, 19:36
  • 1
    Хорошо, если я не ошибусь, то это все еще попытается вытянуть (значительные части) гнома как зависимость. –  julien 14.10.2010, 02:05
  • 2
    Как я сказал - проект (в версии 0.9.x, по крайней мере, единственный GNOME, трудная зависимость является бойкой). Пакеты могут, скомпилировал штат нормальный по умолчанию как GUI, таким образом, Вы, возможно, должны скомпилировать его вручную. –  Maciej Piechotka 14.10.2010, 02:09

В настоящее время существует два потока Средства отслеживания, стабильного (0.8) и нестабильны (0.9). Ваша ОС, вероятно, имеет 0,8 версии, поэтому если можно предоставить ее (она имеет некоторые новейшие зависимости от программного обеспечения), пойдите, захватывают последний tarfile (0.9.x). Это имеет много улучшений по сравнению с 0,8 и в настоящее время стабилизируется далее, чтобы быть 0.10 (четные числа представляют устойчивость). Если Вы принимаете решение пойти этим путем, используйте эту команду для конфигурирования:

./configure --disable-tracker-needle --disable-tracker-preferences --disable-tracker-explorer --disable-tracker-status-icon

Вы, вероятно, не собираетесь устанавливать зависимости, таким образом, это должен быть esier, чтобы просто установить 0.8 от Вашего дистрибутива и просто избежать битов GUI. На Debian Сжимают, Ubuntu 10.10 и Ubuntu 11.04, они приятно разделяются. Таким образом (как корень) выполненный:

apt-get install --no-install-recommends tracker-utils tracker-miner-fs

Инструмент CLI для этого tracker-search, таким образом выполните его с --help опция видеть, как использовать в своих интересах его :-)

примечания:

  • На Fedora 14 пакет Средства отслеживания имеет зависимости от GTK +. Я предполагаю, что это - потому что это включает вещи как tracker-applet и tracker-preferences. У них действительно однако есть отдельный пакет для tracker-search-tool, поисковый интерфейс GUI.
  • DjVu и ePUB еще не поддерживаются. Вот список того, что.
2
27.01.2020, 19:36

Я работал над записью инструмента полнотекстового поиска (новое кстати) для индексации и поиска страниц справочника для NetBSD этим летом с помощью Sqlite3. Это состоит из двух инструментов командной строки:

  • makemandb: Который анализирует и создает индекс содержания страниц справочника.
  • кстати: инструмент для запросов этого индекса.

Вы могли легко записать подобный инструмент для себя для PDF, Вам будет нужна библиотека для парсинга документов PDF и так же утилиты для парсинга открытых офисных документов.

Можно читать больше о проекте здесь

Код здесь

0
27.01.2020, 19:36

выезд xapian. Это имеет интерфейс командной строки и может индексировать много форматов.

5
27.01.2020, 19:36
  • 1
    xapian является большим индексом, моим любимым, и он записан в собственном C++!. Что-то, что использует xapian, было бы самым идеальным для многого требования проектов, индексирующего +1. спасибо –  J. M. Becker 15.10.2012, 01:08

Recoll может быть создан без GUI и будет искать Ваши типы документов из командной строки.

Это использует Xapian под капотом.

4
27.01.2020, 19:36
Этот ответ [119594] рекомендует использовать Google's [119595] codeearch [119596],

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

1 trigintillion = 1,000,000,000,000,000,000,000,000,000,000,
                  000,000,000,000,000,000,000,000,000,000,000
                  000,000,000,000,000,000,000,000,000,000
Суперпользователи в Debian/производных могут попробовать: [119599]sudo apt-get install codesearch

3
27.01.2020, 19:36

Теги

Похожие вопросы