whoose 的使用
官网文档: https://whoosh.readthedocs.io/en/latest/quickstart.html
主要想完成的功能:
(1) 在创建数据模型的时候将其添加到 whoose 中;
(2) 在删除数据模型的时候将其从 whoose 中移除;
(3) 支持中文查询;
(4)支持模糊查询。
建立存储目录
def get_search():
"""建立存储目录"""
index_path = "/Users/furuiyang/codes/microblog/index"
os.makedirs(index_path, exist_ok=True)
return index_path
建立索引模式
class MySchema(SchemaClass):
"""
建立索引模式
"""
path = ID(stored=True)
title = TEXT(stored=True)
content = TEXT
tags = KEYWORD
写入索引内容
def write_index():
"""写入索引内容"""
schema = MySchema()
path = get_search()
index.create_in(path, schema)
ix = index.open_dir(path)
writer = ix.writer()
# 开始写入内容
writer.add_document(title=u"my document", content=u"this is my document", path=u"/a",
tags=u"firlst short")
writer.add_document(title=u"my second document", content=u"this is my second document", path=u"/b",
tags=u"second short")
writer.commit()
读出索引内容
def read_index():
"""读出内容"""
ix = index.open_dir(get_search())
with ix.searcher() as searcher:
# (do somthing)
query = QueryParser("content", ix.schema).parse("*do*")
result = searcher.search(query)
print(result)
print(list(result))
删除索引内容
def delete_index():
"""
删除索引内容
:return:
"""
s

本文详细介绍如何使用Whooose全文搜索引擎进行数据索引、查询、删除操作,并结合jieba分词器实现中文搜索功能,同时展示如何进行模糊查询及结果高亮显示。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



