赞
踩
搜索引擎以及各种网站中的搜索功能已经是人们从海量信息中快速获取特定信息的常用方式。使用 Redis 可以搭建高性能、多特性的搜索引擎,也特别适合解决基于搜索的问题。
本实训项目从构建反向索引,基本搜索操作,实现搜索三个方面介绍如何使用 Redis 解决基于搜索的问题。
第1关:构建反向索引
#!/usr/bin/env python #-*- coding:utf-8 -*- import re import redis conn = redis.Redis() # 文本序列化 def tokenize(content): # 请在下面完成要求的功能 #********* Begin *********# words = set() for word in re.findall("[a-z]{2,}", content.lower()): if len(word) >= 2: words.add(word) return words #********* End *********# # 创建文本的反向索引 def index_document(content): # 请在下面完成要求的功能 #********* Begin *********# content_id = conn.incr("content:id") conn.hset("contents", content_id, content) words = tokenize(content) pipeline = conn.pipeline(True) for word in words: pipeline.sadd('keyword:' + word, content_id) pipeline.execute()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。