12

我正在为东京内阁的表引擎寻找 python 绑定。我尝试了 Pytc,但只能找到 Hash 和 B-tree 引擎支持。还有其他可用的绑定吗?

4

5 回答 5

7

下面是一个使用 PyTyrant 搜索表引擎的实现:

http://github.com/ericflo/pytyrant/tree/master

于 2009-05-22T13:25:52.453 回答
4

我与 tc 的作者取得了联系,他告诉我以下内容:

目前,表(tdb)驱动程序存在于主分支单元测试)中,而fdb 驱动程序正在单独的分支中开发。

我尝试了表驱动程序进行了一次成功的小测试,我计划很快在更大的表上尝试它。

于 2009-04-08T22:41:45.300 回答
2

一年多来,我一直在监视(有时还改进)各种 Python 绑定,所以这里有一个更新的符合您标准的最佳绑定列表。

有许多陈旧和/或不完整的替代方案。

于 2009-08-21T16:18:21.527 回答
2

我的 pytc 分支“tc”确实支持表(TDB)http://github.com/rsms/tc

基本示例:

>>> import tc
>>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT)
>>> db.put('some key', {'name': 'John Doe', 'age': '45', 'city': u'Internets'})
>>> rec = db.get('some key')
>>> print rec['name']
John Doe

执行查询:

>>> import tc
>>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT)
>>> db.put('torgny',  {'name': 'Torgny Korv', 'age': '31', 'colors': 'red,blue,green'})
>>> db.put('rosa',    {'name': 'Rosa Flying', 'age': '29', 'colors': 'pink,blue,green'})
>>> db.put('jdoe',    {'name': 'John Doe',    'age': '45', 'colors': 'red,green,orange'})
>>> q = db.query()
>>> q.keys()
['torgny', 'rosa', 'jdoe']
>>> q.filter('age', tc.TDBQCNUMGE, '30')
>>> q.keys()
['torgny', 'jdoe']
>>> q.filter('colors', tc.TDBQCSTROR, 'blue')
>>> q.keys()
['torgny']
>>> # new query:
>>> q = db.query()
>>> q.order('name') # Ascending order by default
>>> q.keys()
['jdoe', 'rosa', 'torgny']
>>> q.order(type=tc.TDBQONUMASC, column='age')
>>> q.keys()
['jdoe', 'torgny', 'rosa']

TDB 单元测试中的更多示例:http: //github.com/rsms/tc/blob/master/lib/tc/test/tdb.py

于 2009-10-06T15:46:35.720 回答
1

我知道的唯一另一个是 pytc 的一个分支,但看起来他们只做了一些重构和文档工作,所以可能仍然只支持哈希和 b-tree:

tc

如果这不起作用,您可能不走运。我认为所有的暴君绑定都只使用哈希引擎。

于 2009-03-02T10:49:03.127 回答