{"repo":"FarhanAliRaza/django-hawkeye","free":true,"listed":false,"github":"https://github.com/FarhanAliRaza/django-hawkeye","clone":"git clone https://github.com/FarhanAliRaza/django-hawkeye.git","description":"Django BM25 full-text search using PostgreSQL - a lightweight Elasticsearch alternative","language":"Python","stars":79,"topics":["bm25","django","elasticsearch-alternative","full-text-search","postgresql","rag","rag-chatbot","search"],"license":null,"category":"ai-agents","readme_excerpt":"django-hawkeye 🎯 Django BM25 full-text search using PostgreSQL pg textsearch - a lightweight Elasticsearch alternative. Features - Simple API - Just add a mixin and search with Article.search(\"query\") - BM25 ranking - Industry-standard relevance scoring (same as Elasticsearch) - No external services - Uses PostgreSQL 17+ native search - RAG-ready - Use as the retrieval layer for Retrieval Augmented Generation Requirements - PostgreSQL 17+ - pg textsearch extension - Django 4.2+ - Python 3.10+ Installation PostgreSQL Extension Setup This library requires the pg textsearch extension installed on your PostgreSQL server: The extension is automatically enabled via Django migrations when you run python manage.py migrate . See the pg textsearch repository for detailed installation instructions. Add to INSTALLED APPS : Quick Start 1. Define your model 2. Run migrations 3. Search API BM25Searchable Mixin Add to any model to enable .search() method: BM25Index Search Methods Advanced Usage Override search() method Direct Expression API Use BM25Score for full control: Without Mixin Score Semantics pg textsearch returns NEGATIVE scores. Lower values = better match. Why Hawkeye? Feature Elasticsearch django-hawkeye -------------- ----------------- ------------------- Infrastructure Separate cluster Your PostgreSQL Sync Manual index sync Automatic (native) Cost $$$ Free Setup Complex Add mixin + migrate BM25 ranking ✓ ✓ License MIT Links - pg textsearch - The PostgreSQL extension - BM25 Al","default_branch":null,"files":null,"tree":[],"storefront":"/r/FarhanAliRaza","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/FarhanAliRaza/django-hawkeye/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}