Skip to content
RediSearch python client
Branch: master
Clone or download
Latest commit f65d1dd Mar 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Update config.yml Mar 17, 2019
redisearch Some py3 fixes in the builder and aggregations May 3, 2018
test comment out the test to pass the test with RediSearch 1.4.5 Mar 14, 2019
.gitignore add ci Jan 28, 2019
API.md Fix documentation in create_index Feb 14, 2018
LICENSE Initial commit Jan 10, 2017
README.md Update README.md Mar 17, 2019
gendoc.py added proper documentation Jan 11, 2017
requirements.txt Update requirements.txt Mar 12, 2019
setup.py Bump 0.7.1 Apr 4, 2018

README.md

license PyPI version CircleCI GitHub issues Codecov

RediSearch Python Client

This is a python search engine library that utilizes the RediSearch Redis Module API.

It is the "official" client of redisearch, and should be regarded as its canonical client implementation.

Features

RediSearch is an open-source (AGPL), high performance search engine implemented as a Redis Module. It uses custom data types to allow fast, stable and feature rich full-text search inside redis.

This client is a wrapper around the RediSearch API protocol, that allows you to utilize its features easily.

RediSearch's features include:

  • Full-Text indexing of multiple fields in documents.
  • Incremental indexing without performance loss.
  • Document ranking (provided manually by the user at index time) and field weights.
  • Auto-complete suggestions (with fuzzy prefix suggestions)
  • Exact Phrase Search
  • Stemming based query expansion in many languages (using Snowball).
  • Limiting searches to specific document fields (up to 8 fields supported).
  • Numeric filters and ranges.
  • Automatically index existing HASH keys as documents.

For more details, visit http://redisearch.io

Example: Using the Python Client

# Creating a client with a given index name
client = Client('myIndex')

# Creating the index definition and schema
client.create_index((TextField('title', weight=5.0), TextField('body')))

# Indexing a document
client.add_document('doc1', title = 'RediSearch', body = 'Redisearch impements a search engine on top of redis')

# Simple search
res = client.search("search engine")

# Searching with snippets
res = client.search("search engine", snippet_sizes = {'body': 50})

# Searching with complext parameters:
q = Query("search engine").verbatim().no_content().paging(0,5)
res = client.search(q)


# the result has the total number of results, and a list of documents
print res.total # "1"
print res.docs[0].title 

Installing

  1. Install Redis 4.0 or above

  2. Install RediSearch

  3. Install the python client

$ pip install redisearch
You can’t perform that action at this time.