Quick Start Guide for RediSearch

Redis Cloud

RediSearch is available on all Redis Cloud managed services. Redis Cloud Essentials offers a completely free managed databbases up to 30MB.

Get started here

Running with Docker

  1. docker run -p 6379:6379 redislabs/redisearch:latest

Building and running from source

RediSearch uses CMake as its build system. CMake is available for almost every available platform. You can obtain cmake through your operating system’s package manager. RediSearch requires CMake version 3 or greater. If your package repository does not contain CMake3, you can download a precompiled binary from CMake downloads .

To build using CMake:

  1. git clone https://github.com/RedisLabsModules/RediSearch.git
  2. cd RediSearch
  3. mkdir build
  4. cd build
  5. cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
  6. make
  7. redis-server --loadmodule ./redisearch.so

The resulting module will be in the current directory.

You can also simply type make from the top level directory, this will take care of running cmake with the appropriate arguments, and provide you with a redisearch.so file in the src directory:

  1. git clone https://github.com/RedisLabsModules/RediSearch.git
  2. cd RediSearch
  3. make
  4. redis-server --loadmodule ./src/redisearch.so

Creating an index with fields and weights (default weight is 1.0)

  1. 127.0.0.1:6379> FT.CREATE myIdx SCHEMA title TEXT WEIGHT 5.0 body TEXT url TEXT
  2. OK

Adding documents to the index

  1. 127.0.0.1:6379> FT.ADD myIdx doc1 1.0 FIELDS title "hello world" body "lorem ipsum" url "http://redis.io"
  2. OK

Searching the index

  1. 127.0.0.1:6379> FT.SEARCH myIdx "hello world" LIMIT 0 10
  2. 1) (integer) 1
  3. 2) "doc1"
  4. 3) 1) "title"
  5. 2) "hello world"
  6. 3) "body"
  7. 4) "lorem ipsum"
  8. 5) "url"
  9. 6) "http://redis.io"

Note

Input is expected to be valid utf-8 or ASCII. The engine cannot handle wide character unicode at the moment.

Dropping the index

  1. 127.0.0.1:6379> FT.DROP myIdx
  2. OK

Adding and getting Auto-complete suggestions

  1. 127.0.0.1:6379> FT.SUGADD autocomplete "hello world" 100
  2. OK
  3. 127.0.0.1:6379> FT.SUGGET autocomplete "he"
  4. 1) "hello world"