- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
Whoosh:Python的轻量级有哪些信誉好的足球投注网站工具
Whoosh简介
Whoosh由MattChaput创建,它一开始是一个为Houdini3D动画软件包的在线文档提供简单、快速的有哪些信誉好的足球投注网站服务工具,之后便慢慢成为一个成熟的有哪些信誉好的足球投注网站解决工具并已开源。
Whoosh纯由Python编写而成,是一个灵活的,方便的,轻量级的有哪些信誉好的足球投注网站引擎工具,现在同时支持Python2、3,其优点如下:
Whoosh纯由Python编写而成,但很快,只需要Python环境即可,不需要编译器;
默认使用OkapiBM25F排序算法,也支持其他排序算法;
相比于其他有哪些信誉好的足球投注网站引擎,Whoosh会创建更小的index文件;
Whoosh中的index文件编码必须是unicode;
Whoosh可以储存任意的Python对象。
Whoosh的官方介绍网站为:https://whoosh.readthedocs.io/en/latest/intro.html。相比于ElasticSearch或者Solr等成熟的有哪些信誉好的足球投注网站引擎工具,Whoosh显得更轻便,操作更简单,可以考虑在小型的有哪些信誉好的足球投注网站项目中使用。
Indexquery
对于熟悉ES的人来说,有哪些信誉好的足球投注网站的两个重要的方面为mapping和query,也就是索引的构建以及查询,背后是复杂的索引储存、query解析以及排序算法等。如果你有ES方面的经验,那么,对于Whoosh是十分容易上手的。
按照笔者的理解以及Whoosh的官方文档,Whoosh的入门使用主要是index以及query。有哪些信誉好的足球投注网站引擎的强大功能之一在于它能够提供全文检索,这依赖于排序算法,比如BM25,也依赖于我们怎样储存字段。因此,index作为名词时,是指字段的索引,index作为动词时,是指建立字段的索引。而query会将我们需要查询的语句,通过排序算法,给出合理的有哪些信誉好的足球投注网站结果。
关于Whoosh的使用,在官文文档中已经给出了详细的说明,笔者在这里只给出一个简单的例子,来说明Whoosh如何能方便地提升我们的有哪些信誉好的足球投注网站体验。
本项目的示例数据为poem.csv,下图为该数据集的前十行:
poem.csv
根据数据集的特征,我们创建四个字段(fields):title,dynasty,poet,content。创建的代码如下:
#-*-coding:utf-8-*-
importos
fromwhoosh.indeximportcreate_in
fromwhoosh.fieldsimport*
fromjieba.analyseimportChineseAnalyzer
importjson
#创建schema,stored为True表示能够被检索
schema=Schema(title=TEXT(stored=True,analyzer=ChineseAnalyzer()),
dynasty=ID(stored=True),
poet=ID(stored=True),
content=TEXT(stored=True,analyzer=ChineseAnalyzer())
)
其中,ID只能为一个单元值,不能分割为若干个词,常用于文件路径、URL、日期、分类;
TEXT文件的文本内容,建立文本的索引并存储,支持词汇有哪些信誉好的足球投注网站;Analyzer选择结巴中文分词器。
创建索引文件
接着,我们需要创建索引文件。我们利用程序先解析poem.csv文件,并将它转化为index,写入到indexdir目录下。Python代码如下:
#解析poem.csv文件
withopen(poem.csv,r,encoding=utf-8)asf:
texts=[_.strip().split(,)for_inf.readlines()iflen(_.strip().split(,))==4]
#存储schema信息至indexdir目录
indexdir=indexdir/
ifnotos.path.exists(indexdir):
os.mkdir(indexdir)
ix=create_in(indexdir,schema)
#按照schema定义信息,增加需要建立索引的文档
writer=ix.writer()
foriinrange(1,len(texts)):
title,dynasty,poet,content=texts[i]
writer.add_documen
您可能关注的文档
最近下载
- 2024年6月青少年软件编程Python等级考试试卷五级真题(含答案).docx VIP
- 林业技术推进林业科研创新.pptx
- 六年级下册数学期末测试卷及参考答案(突破训练).docx
- 16-软件配置项测试报告(模板)-GJB438C-.docx VIP
- 食品安全管理员考试题及答案.docx VIP
- 2025广东广州市海珠区社区专职工作人员招聘32人笔试备考试题及答案解析.docx VIP
- 船坞锚碇墙施工技术交底.doc
- 2023年3月青少年软件编程Python等级考试试卷五级真题(含答案和解析).pdf VIP
- 管理会计实务课标教案.docx VIP
- 劳动安全个人防护用品详解PPT课件.pptx VIP
文档评论(0)