whoosh使用简介

whoosh,纯python的全文搜索引擎。这里记录简单使用,参考官方文档。

这里是我的代码,创建搜索文档(即索引文档),windows下操作。

#coding=utf-8
import os
from whoosh.index import create_in,open_dir
from whoosh import fields
WHOOSH_ADD = 'E:\whoosh_index'
WHOOSH_SCHEMA = fields.Schema(title=fields.TEXT(stored=True),
    content=fields.TEXT(stored=True),
    )
if not os.path.exists(WHOOSH_ADD):
    os.mkdir(WHOOSH_ADD)
    ix = create_in(WHOOSH_ADD,schema=WHOOSH_SCHEMA,indexname='comment')
ix = open_dir(WHOOSH_ADD,indexname='comment')
writer = ix.writer()
writer.add_document(title=u'chang yanjie add',content= u' zheng wen 我是正文',)

writer.add_document(title=u'chang yan1 jie2 add',content= u' zheng wen 我是正文2',)
writer.commit()

学习使用的同学们自己更改地址WHOOSH_ADD,

当然也有更新方法,

writer.update_document(title=u"chang yanjie add", content="变啦",)

搜索代码:

#coding=utf-8
from whoosh import index
from whoosh.qparser import QueryParser
ix = index.open_dir('E:\whoosh_index', indexname='comment')
hits = []
query = u' zheng'
parser = QueryParser("content", schema=ix.schema)   
try:
    word = parser.parse(query)
except:
    word = None
if word is not None:
    s = ix.searcher()
    hits = s.search(word)
    #with  ix.searcher() as s:              注意此处,如果使用with 方法的话,文件会自动closed()方法,下边将无法使用hits结果
    #    hits = s.search(word)
print len(hits)

正常结果应该是2,哈哈。

转载于:https://www.cnblogs.com/chang/archive/2013/01/10/2855223.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值