scout¶
scout is a restful search server written in python with a focus on using lightweight components:
search powered by sqlite’s full-text search extension
database access coordinated using peewee ORM
web application built with flask framework
Scout aims to be a lightweight, RESTful search server in the spirit of ElasticSearch, powered by the SQLite full-text search extension. In addition to search, Scout can be used as a document database, supporting complex filtering operations. Arbitrary files can be attached to documents and downloaded through the REST API.
Scout is simple to use, simple to deploy and just works.
Features¶
multiple search indexes present in a single database.
restful design for easy indexing and searching.
simple key-based authentication (optional).
lightweight, low resource utilization, minimal setup required.
store search content and arbitrary metadata.
attach files or BLOBs to indexed documents.
BM25 result ranking, porter stemmer.
filtering based on metadata values.
attachment search and filtering.
powered by SQLite FTS5.
Table of contents¶
Contents:
- Installing and Testing
- Scout Server
- API Endpoints
- Index list
- Index detail
- Filtering on Metadata
- Document list
- Document detail
- Working with Document Identifiers
- Update metadata
- Attachment list
- Attachment detail
- Attachment download
- Global attachment list
- Example of using Authentication
- Configuration and Command-Line Options
- Python Configuration File
- Scout Client
- Search Query Syntax
- Examples
- Deployment
- Hacks
named in honor of the best dog ever,