烧瓶sqlalchemy的whoosh索引功能,与python 3兼容。

flask-whooshalchemy3的Python项目详细描述


#烧瓶-whooshalchemy3
[![PYPI版本](https://badge.fury.io/py/flask-whooshalchemy3.svg)(https://badge.fury.io/py/flask-whooshalchemy3)
[![许可证](http://img.盾牌.IO/GITHUB/Lux/BLAKEV/FLASK HOOSHALCHEMY3.3.SVG)]()
BR/>烧瓶SqalCaly的WooSh索引能力;python 3兼容叉子。
性能改进和建议很受欢迎。

灵感来源于gyllstromk的[烧瓶whooshalchemy](http s://github.com/gyllstromk/烧瓶whooshalchemy)。

-[whoosh](http://whoosh.readthedocs.io/en/latest/intro.html)
-[烧瓶炼金术](http://flask sqlalchemy.pocoo.org/2.1/)





>安装

``bash
$pip install flask-whooshalchemy3
````````


``bash
$pip install git+git://github.com/blakev/flask-whooshcalchemy3.git@master
>>


``````````````````````````````



\quickstart

``python

日期时间导入日期时间

“summary”]索引字段
uu analyzer\uuu=stemminganalyzer()


id=db.column(db.integer,primary\u key=true)
title=db.column(db.string(255),unique=true)
content=db.column(db.text(32*1024))
summary=db.column(db.string(1024))
created=db.column(db.datetime,default=datetime.utcnow)

```


>将模型实例提交到会话将写入或更新whoosh索引。

```python
db.session.add(blogpost(title='first post!',content='这太棒了')
db.session.commit()
````


搜索是通过“model.query.search(..)”完成的。但是,请求必须在flask
请求上下文中完成,否则可能无法建立数据库连接。

``python
@app.route('/posts')
def posts():
num posts=min(request.args.get('limit',10),50)
query=request.args.get('q',')
results=blogpost.query.search(query,limit=num_posts)
``



结果按whoosh的排名算法排序,但可以用sqlalchemy`.order_by`.

``python
昨天=datetime.utcnow()-timedelta(days=1)
结果=blogpost.query
.filter(blogpost.created>;昨天)
.search('first')
.order_by(desc(blogpost.created))
```


\flask configuration

`whoosh_analyzer`**(whoosh.analyzer)**
-设置全局文本分析器,可用选项[在whoosh文档中](http://whoosh.readthedocs.io/en/latest/analysis.html)。
-默认值:`stemminganalyzer`.

`whoosh_index_path`(str)
-保存文本索引的文件路径。
默认:'{CWD}/索引'/BR/> BR/> 'HooSoHyQuangLudioCuP'(int)BR/> -用于索引新的和修改的文档的系统进程的数量。
默认值:“2”BR/> BR/>“WooSoHyLogixLang-RAM'(int)
- RAM的数量,以兆字节为单位,BR/> -BR/>< BR/>‘WooSoh RAMYCache’(BOOL)BR/>允许普通查询及其字段存储在RAM中。BR/>默认:“false”BR/> BR/>许可证< BR> > BR/> MIT许可证> BR/>< Copyright(C)2017 Blake VandeMerwe > BR/> BR/>本授权,免费。向获得本软件和相关文档文件(以下简称“软件”)副本的任何人收取费用,不受限制地处理本软件中的
,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售
本软件副本的权利,并允许向其提供软件的人这样做,但须符合以下条件:

本许可通知应包含在软件的所有
副本或实质性部分中。

在任何情况下,
作者或版权持有人均不对任何索赔、损害或其他
责任负责,无论是在合同、侵权或其他方面的诉讼中,由软件或
软件的使用或其他交易引起的或与之相关的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法