首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何手工导入烧瓶-炼金术指数数据?

如何手工导入烧瓶-炼金术指数数据?
EN

Stack Overflow用户
提问于 2014-05-05 12:11:58
回答 3查看 1.3K关注 0票数 1

我在sqlite上使用烧瓶-万能炼金术,并且人工导入了很多数据,现在whoosh可以搜索这些数据了。我想是因为这些数据都没有编入索引,对吧?我如何手动在这些数据上添加whoosh索引?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-12 14:23:01

看看https://gist.github.com/davb5/21fbffd7a7990f5e066c

我写这篇文章是为了解决同样的问题--在大量数据导入之后重建搜索索引。

对于任何其他人,它都无法发挥作用(我的"lib“导入包含了我所有的第三方库,您需要在if name=="main”块中指定您的模型),但是它应该足以让您开始工作。

正如文件注释中所述,您应该考虑删除search.db文件夹(WHOOSH_BASE),因为这个脚本不会删除已删除的数据,只会重新索引当前的数据集。

我发现使用SQLAlchemy核心导入所有数据比通过SQLAlchemy ORM导入数据要快得多(对于我的数据集来说,这是44s对48m )。

票数 1
EN

Stack Overflow用户

发布于 2016-02-03 05:25:25

你可以试试我的叉子https://github.com/Revolution1/Flask-WhooshAlchemyPlus

只是

代码语言:javascript
复制
$ pip install flask_whooshalchemyplus

代码语言:javascript
复制
from flask_whooshalchemyplus import index_all

index_all(app)
票数 2
EN

Stack Overflow用户

发布于 2014-05-05 13:06:58

扩展的代码是非常轻的您可以在github上查看它。从它的角度来看,它只是监视SQLAlchemy刷新会话时的变化,所以外部输入的数据不会被自动索引。

根据数据量的不同,如果这是一个一次性的数据加载,那么可能最容易的做法是删除Whoosh索引(默认情况下是一个名为“whoosh_index”的目录),因为如果找不到该索引,它将重新索引所有内容(见第154至165行)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23472161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档