zoukankan      html  css  js  c++  java
  • 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,哈哈。

    随缘
  • 相关阅读:
    加密的PDF文件怎么查看
    SQL Server数据库中怎么加密数据
    虚拟磁盘也加密
    怎么用密码保护您的文件夹
    如何用cmd命令加密文件夹
    快压轻松创建加密压缩包
    GPS学习的一些链接
    【最新软件预告】邮件群发器Console版
    第六格很酷的滚动活动会员条
    邀请您加入移动开发专家联盟
  • 原文地址:https://www.cnblogs.com/chang/p/2855223.html
Copyright © 2011-2022 走看看