Skip to main content

A pure-Python full text indexing search engine based on sqlite and the FTS5 extension.

Project description

pocketsearch

pocketsearch is a pure-Python full text indexing search library based on sqlite and the FTS5 extension. It provides

  • A simple API (inspired by the ORM layer of the Django web framework) for defining schemas and searching - no need to write SQL
  • Multi-field indices using schemas including text, numeric and date/datetime search
  • Prefix, phrase and initial token queries
  • Boolean search queries
  • Highlightning search results and extracting snippets
  • Autocomplete features

It does not have any external dependencies other than Python itself. pocketsearch has been tested on Python 3.8, Python 3.9, Python 3.10 and Python 3.11.

pocketsearch is currently being tested on data from Wikipedia, indexing more than 6 million abstracts. If you are interested in preliminary performance tests, have a look at https://github.com/kaykay-dv/pocketsearch/tree/development/tests.

Status

The package is currently in Beta status.

Unit tests main Unit tests development

Installation

Run

pip install pocketsearch

to install the package.

Documentation

Documentation can be found at https://pocketsearch.readthedocs.io/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pocketsearch-0.11.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

pocketsearch-0.11.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file pocketsearch-0.11.0.tar.gz.

File metadata

  • Download URL: pocketsearch-0.11.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pocketsearch-0.11.0.tar.gz
Algorithm Hash digest
SHA256 d5393d9c211c6c8227c13ac5b54d0a858e4f06d0b5108acaf9edf37bfeeb3ced
MD5 7e3097faf9b5c91f40a5733cc9f5a32d
BLAKE2b-256 b05a95ec5614fbc4928ec7c474b1e34901943156f1fdb5e0a58434045092d131

See more details on using hashes here.

File details

Details for the file pocketsearch-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pocketsearch-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a61634ed529d3010013c5d5217ec5059294782fc7c8a571adbfcd683185579
MD5 53812e78312c783178c3e908bdf1a6f6
BLAKE2b-256 d6f5fd0ab39fd0e46762c5622889bf120fb2a8b2d9d2356e361aee9442ebe4c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page