Pengindeksan teks lengkap ramah baris perintah?

37

Apakah ada yang namanya mesin pengindeksan teks lengkap, yang dapat ditanyakan dari baris perintah dan idealnya tidak perlu menggunakan gui sama sekali?

Saya terutama tertarik untuk mengindeks ebooks dan makalah saya, jadi itu campuran pdf, epub dan beberapa djvu. (Buka) Dokumen kantor akan menyenangkan, tetapi jauh lebih rendah dalam daftar saya.

Julien
sumber
1
dapatkah Anda lebih spesifik tentang format apa yang diambil indeks?
ixtmixilix
Poin bagus, diedit.
julien
-1 Seperti yang ditunjukkan di bawah ini Lucene atau Pelacak adalah pilihan yang baik, tetapi apa masalah Anda dengan "gunakan gtk, atau bahkan lebih buruk qt"? Menggunakan baris perintah saja tidak apa-apa, tapi saya tidak melihat titik mengkritik satu set perpustakaan ...
tmow
2
@ tmow: titik diambil, pertanyaan diedit. Tidak bermaksud merusak kerja keras siapa pun, maaf jika itu yang terjadi ...
julien

Jawaban:

11

Pernahkah Anda melihat Lucene atau Sphinx? Meskipun pada awalnya Anda perlu mem-parsing dokumen yang ingin Anda indeks, setelah itu selesai, salah satunya dapat mencari dari cli.

Untuk Lucene, ada beberapa info untuk melakukan ini tersedia .

Sphinx, sedikit lebih kabur, tetapi ada juga beberapa dokumentasi yang tersedia . Anda dapat meneruskan data XML terstruktur pilihan Anda ke sphinx melalui sumber data xmlpipe2.

Lucene mengandalkan Java, sementara Sphinx dibangun di C ++ tanpa ketergantungan luar yang diperlukan.

Salah satu akan memerlukan sedikit kerja untuk melakukan apa yang Anda inginkan, tetapi, sepertinya solusi yang benar-benar bisa diterapkan.

gabe
sumber
1
Sebagai tambahan, jika Anda ingin mengindeks data yang ada dalam DB (postrgres, mysql) maka salah satu dari ini juga bekerja dengan sangat baik.
gabe.
hmm, saya telah menolak sphinx karena levelnya terlalu rendah, tetapi melihat xmlpipe2 sepertinya skrip pembungkus untuk pdf2txt atau sejenisnya akan sangat mudah ...
julien
+1 untuk disebutkan di Lucene. Saya bersenang-senang dengan Lucene, ini adalah hal yang mematikan !!
Nikhil Mulley
Saya percaya elasticsearch didasarkan pada lucene, dan mungkin lebih nyaman untuk digunakan (menjadi hal yang lebih tinggi).
offby1
5

periksa xapian . Ini memiliki antarmuka baris perintah dan dapat mengindeks banyak format.

Michał Šrajer
sumber
xapian adalah indeks yang bagus, favorit pribadi saya, dan ditulis dalam bahasa asli C ++ !. Sesuatu yang menggunakan xapian akan paling ideal, untuk banyak proyek yang membutuhkan pengindeksan +1.
JM Becker
4

Recoll dapat dibangun tanpa GUI dan akan mencari jenis dokumen Anda dari baris perintah.

Ini menggunakan Xapian di bawah tenda.

pengguna2391635
sumber
3

Pelacak dapat dipanggil dari baris perintah dan gtk + bukan ketergantungan sulit untuk proyek (tetapi mungkin untuk paket).

Maciej Piechotka
sumber
Nah jika saya tidak salah, itu masih akan mencoba untuk menarik (sebagian besar) gnome sebagai ketergantungan.
julien
1
Seperti yang saya katakan - proyek (dalam versi 0.9.x setidaknya satu-satunya dependensi keras GNOME adalah glib). Paket dapat mengkompilasi staf waras-standar seperti GUI sehingga Anda mungkin perlu mengkompilasinya dengan tangan.
Maciej Piechotka
3

Jawaban ini merekomendasikan menggunakan pencarian kode Google ,

Pencarian Kode adalah alat untuk mengindeks dan kemudian melakukan pencarian ekspresi reguler atas tubuh besar kode sumber.

Pengguna super di Debian / derivatif dapat mencoba: sudo apt-get install codesearch

joeytwiddle
sumber
1
jawaban ini memiliki beberapa detail tentang cara menginstal dari sumber; dalam kasus itu tidak tersedia dalam repo untuk OS Anda: superuser.com/a/1263343/65975
ccpizza
2

Saat ini ada dua aliran Tracker, stabil (0,8) dan tidak stabil (0,9). OS Anda kemungkinan memiliki versi 0.8, jadi jika Anda mampu membelinya (memiliki beberapa ketergantungan perangkat lunak tepi ), ambil tarfile terbaru (0.9.x). Ini memiliki banyak perbaikan lebih dari 0,8, dan saat ini sedang distabilkan lebih lanjut menjadi 0,10 (angka genap mewakili stabilitas). Jika Anda memilih untuk menempuh rute ini, gunakan perintah ini untuk mengonfigurasi:

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

Anda mungkin tidak akan menginstal dependensi, jadi sebaiknya Anda menginstal 0,8 dari distro Anda, dan hindari bit-bit GUI. Pada Debian Squeeze, Ubuntu 10.10, dan Ubuntu 11.04, ini terpecah dengan baik. Jadi ( sebagai root ) jalankan:

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

Alat CLI untuk ini adalah tracker-search, jadi jalankan dengan --helpopsi untuk melihat bagaimana memanfaatkannya :-)

catatan :

  • Pada Fedora 14, paket Tracker memiliki dependensi pada GTK +. Saya kira itu karena itu termasuk hal-hal seperti tracker-appletdan tracker-preferences. Namun mereka memiliki paket terpisah untuk tracker-search-tool, antarmuka pencarian GUI.
  • DjVu dan ePUB belum (belum) didukung. Berikut daftar apa yang ada .
tepang
sumber
0

Saya bekerja untuk menulis alat pencarian teks lengkap (baru) untuk mengindeks dan mencari halaman manual untuk NetBSD musim panas ini menggunakan Sqlite3. Ini terdiri dari dua alat baris perintah:

  • makemandb: Yang mem-parsing dan membangun indeks isi halaman manual.
  • apropos: Alat untuk menanyakan indeks ini.

Anda dapat dengan mudah menulis alat serupa untuk diri sendiri, untuk pdf, Anda akan memerlukan perpustakaan untuk mem-parsing dokumen pdf dan juga utilitas untuk mengurai dokumen kantor terbuka.

Anda dapat membaca lebih lanjut tentang proyek di sini

Kodenya ada di sini

Abhinav Upadhyay
sumber