BECer-GAE(google app engine)中文分词和全文搜索模块

阅读更多
BECer是纯python实现,专门为google app engine而开发的中文分词和全文搜索模块,BECer的特点是快速而且低内存占用.不必担心google app engine的cpu时间限制和内存限制.

模块包含

__init__.py -- 目录即模块

search.py -- 从App Engine SDK的search模块修改而来,增加了中文分词功能,保留原有的英文分词.

segment.py -- 中文分词切割模块,用来完成中文句子的切割.使用简单的机械分词算法

gbk.py -- 包含所有 gbk 字符集相对应的 unicode 字符.用于过滤原文,去除非中文部分.

db.zip -- 中文词库


使用方法

首先将模块解压缩至应用的根目录下,

导入BECer分词搜索模块,

    import becer

    from google.appengine.ext import db

创建模型

    class Example(becer.Model):

        content = db.TextProperty()

    #定义需要分词和全文搜索的属性

    @classmethod

    def SearchableProperties(cls):

        return [['content']]

实例化模型的类,并写入一个实体

    entity = Example()

    entity.content = db.Text('BECer是纯python实现,专门为google app engine而开发的中文分词和全文搜索模块,BECer的特点是快速而且低内存占用.不必担心google app engine的cpu时间限制和内存限制.'.decode('utf-8'))

    entity.put()

搜索

    entities = Example.all().search('中文分词'.decode('utf-8'), ['content'])

    for entity in entities:

        print entity.content.encode('utf8')


演示 http://sub-api.okbad.com/search

下载BECer源代码 http://www.freedodo.com/media/agxmcmVlZG9kb2Jsb2dyDQsSBU1lZGlhGKOTBAw/becer.zip?a=download

原文 http://www.freedodo.com/2011/04/25/GAE%28google-app-engine%29%E4%B8%AD%E6%96%87%E5%88%86%E8%AF%8D%E5%92%8C%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2%E6%A8%A1%E5%9D%97-python.html

你可能感兴趣的:(Google,GAE,Python,EXT,算法)