Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

104 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DocSearch

A search application that provides quick access to the documents and text files you want on your computer by searching their contents


About

Searching through hundreds of documents for a specific piece of content can be tedious. DocSearch solves this by indexing all supported files into a local SQLite database and running full-text searches using the BM25 (Best Match 25) algorithm — returning the most relevant results in milliseconds.


Features

  • BM25-based search — An advanced ranking algorithm that accounts for term frequency and document length to deliver highly relevant results
  • SQLite indexing — File contents are stored in a local database, keeping searches fast and lightweight
  • Wide file format support — Supports PDF, TXT, DOCX, and other text-based formats
  • GTK interface — A clean, user-friendly interface compatible with GNOME desktop environments

Requirements

System Requirements

  • Python 3.x
  • SQLite (typically bundled with Python)

Python Dependencies

rank-bm25
pyPDF2
fitz
pdfplumber
PyGObject

Installation

1. Clone the repository

git clone https://github.com/heyderismayilli092/docsearch.git
cd docsearch

2. Install dependencies

pip install -r requirements.txt

3. Run the installer

sudo python3 ~/docsearch/src/main.py

Build .deb package

sudo apt install devscripts git-buildpackage
sudo mk-build-deps -ir
gbp buildpackage --git-export-dir=/tmp/build/docsearch -us -uc

Screenshots

docsearch 1 docsearch 2 docsearch 3 docsearch 4 docsearch 5 docsearch 6 docsearch 7 docsearch 8


How It Works

File System
     │
     ▼
[docextract.py]          ← Extracts text from PDF, TXT, DOCX files
     │
     ▼
[docdatabase.py]         ← Stores extracted text in SQLite database
     │
     ▼
[docsearch_functions.py] ← Runs BM25 search against the database
     │
     ▼
[GTK Interface]          ← Displays ranked results to the user

Author

Heydar Ismayilli

NOTE: This software was prepared as part of the "Teknofest 2026 Pardus Bug Finding and Suggestion Competition"

About

A search application that provides quick access to the documents and text files you want on your computer by searching their contents

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages