京东网站开发多少钱,企业官网制作费用,自助建站免费建站平台,seo专业实战培训文章目录 构建反向索引 构建反向索引
在Begin-End区域编写 tokenize(content) 函数#xff0c;实现文本标记化的功能#xff0c;具体参数与要求如下#xff1a;
方法参数 content 为待标记化的文本#xff1b; 文本标记的实现#xff1a;使用正则表达式提取全小写化后的… 文章目录 构建反向索引 构建反向索引
在Begin-End区域编写 tokenize(content) 函数实现文本标记化的功能具体参数与要求如下
方法参数 content 为待标记化的文本 文本标记的实现使用正则表达式提取全小写化后的文本中长度 2 的英文单词并将这些标记词依次记录到标记词集合中 返回标记词的实现返回return标记词集合。 编写 index_document(content) 函数实现构建反向索引的功能具体参数与要求如下
方法参数 content 为待构建索引的文本 分配文本序号的实现对计数器content:id递增1并将递增后的值作为该文本的序号 记录文本全文的实现将文本作为值上一步的序号做为域存入到哈希键 contents 中 获取文本标记词的实现使用 tokenize 方法获取该文本的所有标记词 建立索引的实现遍历所有标记词使用事务一次性对每个word创建一个名为keyword:{word}的集合并将该文本的序号加入到该集合中。 代码如下
#!/usr/bin/env python
#-*- coding:utf-8 -*-import re
import redisconn redis.Redis()# 文本序列化
def tokenize(content):# 请在下面完成要求的功能#********* Begin *********#words re.findall(r\b[a-z]{2,}\b, content.lower())return set(words)#********* End *********## 创建文本的反向索引
def index_document(content):# 请在下面完成要求的功能#********* Begin *********#doc_id conn.incr(content:id)conn.hset(contents, doc_id, content)words tokenize(content)for word in words:pipe conn.pipeline(True)key keyword: wordpipe.sadd(key, doc_id)pipe.execute()#********* End *********#