RediSearch 是一个为 Redis 设计的全文搜索引擎,它可以针对存储在 Redis 中的数据提供实时的、可靠的全文搜索服务。
以下是一个使用 RediSearch 的 Python 示例:
首先,确保你已经安装了 redisearch
和 redis
包。
pip install redisearch redis
然后,你可以使用以下代码来使用 RediSearch:
from redisearch import Client, TextField, NumericField
from redisearch.aggregate import AggregateRequest, Aggregate
# 连接到 Redis
client = Client('my_index')
# 创建一个文本字段和一个数值字段
text = TextField('body')
num = NumericField('price')
# 创建索引
client.create_index((text, num))
# 添加文档到索引
client.add_document('doc1', title = 'Hello world', body = 'This is a sample document', price = 100)
client.add_document('doc2', title = 'Another doc', body = 'This is another sample document', price = 200)
# 执行搜索
res = client.search('body:sample')
# 打印搜索结果
for doc in res.docs:
print(doc.id, doc.title, doc.body, doc.price)
# 使用聚合功能
agg_req = AggregateRequest('@price:sum')
res = client.aggregate(agg_req)
# 打印聚合结果
for row in res.rows:
print(row)
这个示例展示了如何创建一个索引、添加文档、执行搜索和使用聚合功能。在实际应用中,你需要根据你的具体需求来调整字段定义和查询参数。