RediSearch-PHP is a PHP client library for the RediSearch module which adds full-text search to Redis.
- Redis running with the RediSearch module loaded.
- PHP >=7
- PhpRedis, Predis, or php-redis-client.
composer require ethanhann/redisearch-php
require_once 'vendor/autoload.php';
use Ehann\RedisRaw\PredisAdapter;
use Ehann\RedisRaw\PhpRedisAdapter;
use Ehann\RedisRaw\RedisClientAdapter;
$redis = (new PredisAdapter())->connect('127.0.0.1', 6379);
// or
$redis = (new PhpRedisAdapter())->connect('127.0.0.1', 6379);
// or
$redis = (new RedisClientAdapter())->connect('127.0.0.1', 6379);
use Ehann\RediSearch\Index;
$bookIndex = new Index($redis);
$bookIndex->addTextField('title')
->addTextField('author')
->addNumericField('price')
->addNumericField('stock')
->create();
$bookIndex->add([
new TextField('title', 'Tale of Two Cities'),
new TextField('author', 'Charles Dickens'),
new NumericField('price', 9.99),
new NumericField('stock', 231),
]);
$result = $bookIndex->search('two cities');
$result->getCount(); // Number of documents.
$result->getDocuments(); // Array of matches.
// Documents are returned as objects by default.
$firstResult = $result->getDocuments()[0];
$firstResult->title;
$firstResult->author;