การจัดทำดัชนีข้อความแบบเต็มบรรทัดคำสั่ง?


37

มีสิ่งใดบ้างที่เป็นเอ็นจิ้นการจัดทำดัชนีข้อความแบบเต็มซึ่งสามารถสอบถามได้จากบรรทัดคำสั่งและไม่จำเป็นต้องใช้ gui เลย?

ฉันสนใจจัดทำดัชนี ebooks และเอกสารของฉันเป็นพิเศษนั่นคือส่วนผสมของ pdf, epub และ djvu บางอย่าง (เปิด) เอกสาร Office จะดี แต่ต่ำกว่ามากในรายการของฉัน


1
คุณจะเจาะจงมากขึ้นเกี่ยวกับรูปแบบที่ดัชนีใช้หรือไม่
ixtmixilix

จุดดีแก้ไข
julien

-1 ดังที่อธิบายไว้ด้านล่าง Lucene หรือตัวติดตามเป็นตัวเลือกที่ดี แต่ปัญหาของคุณคืออะไร "ใช้ gtk หรือ qt ที่แย่ลง" โดยใช้เพียงบรรทัดคำสั่งเป็นได้ แต่ฉันไม่เห็นจุดของการวิจารณ์ชุดของห้องสมุดที่ ...
tmow

2
@tmow: ชี้ประเด็นแก้ไขคำถามแล้ว ไม่ได้หมายความว่าจะบ่อนทำลายการทำงานหนักของทุกคนขออภัยถ้าเป็นเช่นนั้น ...
julien

คำตอบ:


11

คุณดูที่ Lucene หรือ Sphinx แล้วหรือยัง? ในขณะที่คุณจะต้องแยกวิเคราะห์เอกสารที่คุณต้องการสร้างดัชนีเมื่อเสร็จแล้วคุณสามารถค้นหาจาก cli

สำหรับ Lucene มีข้อมูลบางอย่างเกี่ยวกับการทำเช่นนี้สามารถใช้ได้

สฟิงซ์เป็นบิตคลุมเครือมากขึ้น แต่ยังมีเอกสารบางอย่างที่มีอยู่ คุณสามารถส่งผ่านข้อมูล XML โครงสร้างที่คุณเลือกไปยังสฟิงซ์ผ่านแหล่งข้อมูล xmlpipe2

Lucene พึ่งพา Java ในขณะที่สฟิงซ์สร้างขึ้นใน C ++ โดยไม่จำเป็นต้องพึ่งพาภายนอก

อย่างใดอย่างหนึ่งจะต้องใช้งานเล็กน้อยเพื่อทำสิ่งที่คุณต้องการ แต่ดูเหมือนว่าเป็นทางออกที่ทำงานได้โดยสิ้นเชิง


1
นอกจากนี้หากคุณต้องการจัดทำดัชนีข้อมูลที่อยู่ใน DB (postrgres, mysql) แล้วสิ่งเหล่านี้ก็ใช้ได้ดีอย่างไม่น่าเชื่อ
เกบ

อืมผมได้ไล่สฟิงซ์สำหรับการเป็นระดับต่ำเกินไป แต่กำลังมองหาที่ xmlpipe2 ดูเหมือนสคริปต์เสื้อคลุมสำหรับ PDF2TXT หรือชอบจะสวยง่าย ...
Julien

+1 สำหรับการพูดถึงใน Lucene ฉันมีเวลาที่ดีกับ Lucene มันเป็นสิ่งที่นักฆ่า !!
Nikhil Mulley

ฉันเชื่อว่าอีลาสติกเดอเรชั่นนั้นตั้งอยู่บนพื้นฐานของลูซีนและอาจใช้งานได้สะดวกกว่า
offby1

5

ตรวจสอบxapian มันมีอินเตอร์เฟสบรรทัดคำสั่งและสามารถทำดัชนีได้หลายรูปแบบ


xapian เป็นดัชนีที่ยอดเยี่ยมเป็นส่วนตัวที่ฉันชอบที่สุดและมันเขียนด้วยภาษา C ++! สิ่งที่ใช้ xapian จะเหมาะที่สุดสำหรับหลาย ๆ โครงการที่ต้องการการจัดทำดัชนี +1
JM Becker

4

สามารถสร้างRecollได้โดยไม่มี GUI และจะค้นหาประเภทเอกสารของคุณจากบรรทัดคำสั่ง

มันใช้Xapianภายใต้ประทุน


3

ตัวติดตามสามารถเรียกใช้จากบรรทัดคำสั่งและ gtk + ไม่ใช่การขึ้นต่อกันอย่างหนักสำหรับโครงการ (แต่อาจใช้สำหรับแพ็คเกจ)


ถ้าฉันไม่เข้าใจผิดมันจะพยายามดึง gnome (ส่วนใหญ่) เป็นสิ่งที่ต้องพึ่งพา
Julien

1
อย่างที่ฉันได้พูดไปแล้ว - โครงการ (ในรุ่น 0.9.x อย่างน้อยการพึ่งพายากของ GNOME เพียงตัวเดียวคือ glib) แพคเกจอาจรวบรวมพนักงานที่มีสติเช่น GUI ดังนั้นคุณอาจต้องรวบรวมด้วยมือ
Maciej Piechotka

3

คำตอบนี้แนะนำให้ใช้ของ Google codesearch ,

การค้นหารหัสเป็นเครื่องมือสำหรับการจัดทำดัชนีจากนั้นทำการค้นหานิพจน์ปกติบนซอร์สโค้ดขนาดใหญ่

Superusers สำหรับ Debian / อนุพันธ์สามารถลอง: sudo apt-get install codesearch


1
คำตอบนี้มีรายละเอียดบางอย่างเกี่ยวกับการติดตั้งจากแหล่งที่มา; ในกรณีที่ไม่มีใน repos สำหรับระบบปฏิบัติการของคุณ: superuser.com/a/1263343/65975
ccpizza

2

ปัจจุบันมีสตรีมติดตามสองรายการที่เสถียร (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

คุณอาจจะไม่ได้ติดตั้งการพึ่งพาดังนั้นจึงควรติดตั้ง 0.8 จาก distro ของคุณและหลีกเลี่ยงบิต GUI ใน Debian Squeeze, Ubuntu 10.10 และ Ubuntu 11.04 สิ่งเหล่านี้ได้รับการแยกออกมา ดังนั้นรัน( ตามรูท ):

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

เครื่องมือ CLI สำหรับสิ่งนี้คือtracker-searchให้เรียกใช้ด้วย--helpตัวเลือกเพื่อดูวิธีการใช้ประโยชน์จากมัน :-)

หมายเหตุ :

  • ใน Fedora 14 แพ็คเกจ Tracker มีการพึ่งพา GTK + ผมคิดว่ามันเป็นเพราะมันมีสิ่งที่ต้องการและtracker-applet tracker-preferencesอย่างไรก็ตามมีแพ็คเกจแยกต่างหากสำหรับtracker-search-toolส่วนต่อประสานการค้นหา GUI
  • ไม่รองรับ DjVu และ ePUB นี่คือรายการของสิ่งที่เป็น

0

ฉันทำงานเกี่ยวกับการเขียนเครื่องมือค้นหาข้อความแบบเต็ม (apropos ใหม่) สำหรับการจัดทำดัชนีและค้นหาหน้าคนสำหรับ NetBSD ช่วงฤดูร้อนนี้โดยใช้ Sqlite3 มันประกอบด้วยสองเครื่องมือบรรทัดคำสั่ง:

  • makemandb: วิเคราะห์คำใดและสร้างดัชนีของเนื้อหาของ man pages
  • apropos: เครื่องมือสำหรับการสืบค้นดัชนีนี้

คุณสามารถเขียนเครื่องมือที่คล้ายกันด้วยตัวคุณเองได้อย่างง่ายดายสำหรับไฟล์ PDF คุณจะต้องมีห้องสมุดสำหรับการแยกวิเคราะห์เอกสาร PDF และยูทิลิตี้ในการแยกวิเคราะห์เอกสารสำนักงานแบบเปิด

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับโครงการได้ที่นี่

รหัสอยู่ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.