Reds est une recherche Redis léger pour node.js.
Pyreds est un port python des rouges.
Pyreds nécessite un serveur Redis en cours d'exécution. Voir le start de redis pour les instructions d'installation.
Pour installer des pyreds, simplement:
$ pip install pyredsVous devrez peut-être installer des données NLTK:
>>> import nltk
>>> nltk.download( ' stopwords ' )La première chose que vous voudrez faire est de créer une instance de recherche, qui vous permet de passer une clé, utilisée pour le service de noms dans Redis afin que vous puissiez avoir plusieurs recherches dans la même base de données.
>>> import pyreds
>>> search = pyreds.create_search( ' pets ' )Pyreds agit contre des ID numériques ou basés sur des chaînes arbitraires, vous pouvez donc utiliser cette bibliothèque avec essentiellement tout ce que vous souhaitez, même en combinant les magasins de données. L'exemple suivant utilise simplement une liste pour notre "base de données", contenant quelques chaînes, que nous ajoutons aux pyreds en appelant la recherche # index () rembourrant le corps du texte et un identifiant quelconque, dans ce cas l'index.
>>> 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)Pour effectuer une requête contre Pyreds, invoquez simplement la recherche # query () avec une chaîne, qui renvoie une instance de requête. Invoquez ensuite Query # end (), qui renvoie une liste d'ID lorsqu'il est présent, ou une liste vide autrement.
>>> ids = search.query( ' Tobi dollars ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))Par défaut, Pyreds effectue une intersection des mots de recherche. L'exemple précédent donnerait la sortie suivante car une seule chaîne contient à la fois "Tobi" et "Dollars":
Search results for "Tobi dollars":
- Tobi wants four dollarsNous pouvons modifier les Pyreds pour effectuer un syndicat en passant «Union» ou «ou« pour rechercher # type () entre la recherche # query () et Query # end (), indiquant que l'une des constantes calculées peut être présente pour que l'ID correspond.
>>> ids = search.query( ' tobi dollars ' ).type( ' or ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))La recherche syndicale donnerait ce qui suit car trois chaînes contiennent soit "tobi" ou "dollars":
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()La licence MIT