首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python SQLite FTS3 alternatives?

Python SQLite FTS3 alternatives?
EN

Stack Overflow用户
提问于 2009-12-10 00:12:13
回答 1查看 2K关注 0票数 2

对于python,有没有比SQLite + FTS3更好的替代品呢?

我正在迭代一系列文本文档,并希望根据一些文本查询对它们进行分类。例如,我可能想知道文档是否在“购买”的三个单词中提到了“评级”或“升级”。此查询的FTS3语法如下:

代码语言:javascript
复制
(rating OR upgraded) NEAR/3 buy

这一切都很好,但是如果我使用FTS3,这个操作似乎相当昂贵。这个过程是这样的:

代码语言:javascript
复制
# create an SQLite3 db in memory
conn = sqlite3.connect(':memory:')
c = conn.cursor()
c.execute('CREATE VIRTUAL TABLE fts USING FTS3(content TEXT)')
conn.commit()

然后,对于每个文档,执行如下操作:

代码语言:javascript
复制
#insert the document text into the fts table, so I can run a query
c.execute('insert into fts(content) values (?)', content)
conn.commit()

# execute my FTS query here, look at the results, etc

# remove the document text from the fts table before working on the next document
c.execute('delete from fts')
conn.commit()

这对我来说似乎相当贵。

我对Python的另一个问题是,它似乎不能与SQLite 2.5.4一起工作。无法识别“CREATE VIRTUAL TABLE”语法。这意味着我必须升级到Python2.6,这意味着重新测试大量现有的脚本和程序,以确保它们在2.6下工作。

有没有更好的方法?也许是一个不同的库?有没有更快的?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2010-04-14 04:39:21

我建议您单独安装pysqlite2模块。应确保在应具有FTS3模块的系统中安装了sqlite3 ;-)

查看http://code.google.com/p/pysqlite/downloads/list以获取最新代码(截至4月13日,其版本为2.6.0)。这是常见的setuptools版本。如果您没有安装sqlite3 --或者它的库没有安装在通常的位置/usr/lib(64),它也应该会报错。在后一种情况下,更新您的LD_LIBRARY_PATH,也许还可以调整setup.cfg以指定头文件/库路径。

祝你好运,保罗

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

https://stackoverflow.com/questions/1874957

复制
相关文章

相似问题

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