ti-enxame.com

Indexação de texto completo compatível com a linha de comando?

Existe algo como um mecanismo de indexação de texto completo, que pode ser consultado na linha de comando e, de preferência, não exigiria o uso de um GUI?

Estou especialmente interessado em indexar meus e-books e artigos, então é uma mistura de pdf, epub e alguns djvu. (Abrir) Documentos do Office seria bom, mas muito inferior na minha lista.

38
julien

Você já olhou para Lucene ou Sphinx? Embora você precise inicialmente analisar os documentos que deseja indexar, uma vez feito isso, qualquer um pode pesquisar no cli.

Para Lucene, há algumas informações sobre como fazer isso disponível .

Sphinx, é um pouco mais vago, mas também existe alguma documentação disponível . Você pode passar dados XML estruturados de sua escolha para o sphinx por meio da fonte de dados xmlpipe2.

Lucene depende de Java, enquanto Sphinx é construído em C++ sem dependências externas necessárias.

Qualquer um vai exigir um pouco de trabalho para fazer o que você deseja, mas parece uma solução totalmente viável.

11
gabe.

verifique xapian . Possui interface de linha de comando e pode indexar vários formatos.

5
Michał Šrajer

Esta resposta recomenda usar o codesearch , do Google

A Pesquisa de código é uma ferramenta para indexar e realizar pesquisas de expressão regular em grandes corpos de código-fonte.

Superusuários em Debian/derivados podem tentar: Sudo apt-get install codesearch

4
joeytwiddle

Recoll pode ser construído sem GUI e irá pesquisar seus tipos de documentos a partir da linha de comando.

Ele usa Xapian sob o capô.

4
user2391635

O rastreador pode ser chamado a partir da linha de comando e gtk + não é uma dependência rígida para um projeto (mas pode ser para pacotes).

3
Maciej Piechotka

Atualmente, existem dois fluxos de Tracker, estável (0,8) e instável (0,9). Seu SO provavelmente tem a versão 0.8, então se você puder pagar (tem algumas Edge sangrando dependências de software), vá pegar o tarfile mais recente (0.9.x). Tem muitas melhorias acima de 0,8, e está sendo estabilizado ainda mais para ser 0,10 (números pares representam estabilidade). Se você escolher seguir este caminho, use este comando para configurar:

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

Provavelmente, você não terá as dependências instaladas, então deve ser mais fácil simplesmente instalar o 0.8 da sua distro e evitar os bits da GUI. No Debian Squeeze, Ubuntu 10.10 e Ubuntu 11.04, eles estão bem divididos. Então ( como root ) execute:

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

A ferramenta CLI para isso é tracker-search, então execute-o com o --help opção para ver como tirar vantagem disso :-)

notas :

  • No Fedora 14, o pacote Tracker depende do GTK +. Acho que é porque inclui coisas como tracker-applet e tracker-preferences. No entanto, eles têm um pacote separado para tracker-search-tool, a interface de pesquisa da GUI.
  • DjVu e ePUB (ainda) não são suportados. Aqui está ma lista do que é .
2
tshepang

Eu trabalhei escrevendo uma ferramenta de pesquisa de texto completo (um novo propósito) para indexar e pesquisar páginas de manual para o NetBSD neste verão usando Sqlite3. Ele consiste em duas ferramentas de linha de comando:

  • makemandb: que analisa e constrói um índice do conteúdo das páginas do manual.
  • apropos: A ferramenta para consultar este índice.

Você poderia facilmente escrever uma ferramenta semelhante para você mesmo, para PDFs você precisará de uma biblioteca para analisar documentos PDF e, da mesma forma, de um utilitário para analisar os documentos do Open Office.

Você pode ler mais sobre o projeto aqui

O código é aqui

0
Abhinav Upadhyay