pyreds
0.1.4
红色是对Node.js的轻巧重量搜索。
Pyreds是红色的Python港口。
Pyreds需要运行的Redis服务器。有关安装说明,请参见Redis的快速入门。
要安装pyreds,简单地:
$ pip install pyreds您可能需要安装NLTK数据:
>>> import nltk
>>> nltk.download( ' stopwords ' )您要做的第一件事是创建一个搜索实例,该实例允许您传递REDIS内命名领域的键,以便您可以在同一DB中进行多个搜索。
>>> import pyreds
>>> search = pyreds.create_search( ' pets ' )Pyreds针对基于任意数字或字符串的ID进行操作,因此您可以使用此库,甚至可以使用您想要的任何内容,甚至结合数据存储。下面的示例只使用了我们的“数据库”列表,其中包含一些字符串,我们通过调用搜索#index()填充文本主体和某种ID,在这种情况下,在这种情况下,在这种情况下,它们添加到了pyreds中,在这种情况下为索引。
>>> strs = []
>>> strs.append( ' Tobi wants four dollars ' )
>>> strs.append( ' Tobi only wants $4 ' )
>>> strs.append( ' Loki is really fat ' )
>>> strs.append( ' Loki, Jane, and Tobi are ferrets ' )
>>> strs.append( ' Manny is a cat ' )
>>> strs.append( ' Luna is a cat ' )
>>> strs.append( ' Mustachio is a cat ' )
>>> for i, v in enumerate (strs):
... search.index(v, i)要针对Pyreds执行查询,只需用一个返回查询实例的字符串调用搜索#query()。然后调用查询#end(),否则返回ID列表,或者否则返回一个空列表。
>>> ids = search.query( ' Tobi dollars ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))默认情况下,pyreds执行搜索词的交集。上一个示例将产生以下输出,因为只有一个字符串包含“ Tobi”和“美元”:
Search results for "Tobi dollars":
- Tobi wants four dollars我们可以通过在搜索#query(Query()和Query#end()之间传递“ Union”或“或“ search”(),我们可以调整pyreds以执行联合,以表明计算的任何常数都可能存在以供ID匹配。
>>> ids = search.query( ' tobi dollars ' ).type( ' or ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))工会搜索将产生以下内容,因为三个字符串包含“ Tobi”或“美元”:
Search results for "tobi dollars":
- Tobi wants four dollars
- Tobi only wants $4
- Loki, Jane, and Tobi are ferrets>>> search = pyreds.create_search(key)
>>> search.index(text, id )
>>> search.remove( id )
>>> query = search.query(text[, type ]) # will return a `Query` instance
>>>
>>> query.between(start, stop)
>>> query.type( type )
>>> query.end()麻省理工学院许可证