Reds ist eine leichte Redis-Suche nach Node.js.
Pyreds ist ein Python -Port der Rot.
Pyreds benötigt einen laufenden Redis -Server. Die Installationsanweisungen finden Sie in Redis 'QuickStart.
Um Pyreds zu installieren, einfach:
$ pip install pyredsMöglicherweise müssen Sie NLTK -Daten installieren:
>>> import nltk
>>> nltk.download( ' stopwords ' )Das erste, was Sie tun möchten, ist eine Suchinstanz zu erstellen, mit der Sie einen Schlüssel übergeben können, der zum Namenspazieren innerhalb von Redis verwendet wird, damit Sie möglicherweise mehrere Suchanfragen im selben DB durchführen.
>>> import pyreds
>>> search = pyreds.create_search( ' pets ' )Pyreds handelt gegen willkürliche numerische oder stringbasierte IDs, sodass Sie diese Bibliothek mit im Wesentlichen alles, was Sie wünschen, verwenden können, und sogar Datenspeicher kombinieren. Das folgende Beispiel verwendet nur eine Liste für unsere "Datenbank", die einige Zeichenfolgen enthält, die wir zu Pyreds hinzufügen, indem wir die Suche#index () auf den Text und eine ID aufrufen, in diesem Fall der 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)Um eine Abfrage gegen Pyreds auszuführen, rufen Sie einfach die Suche#query () mit einer Zeichenfolge auf, die eine Abfrageinstanz zurückgibt. Rufen Sie dann die Abfrage#End () auf, die eine Liste von IDs zurückgeben, wenn sie vorhanden sind, oder eine leere Liste anderweitig.
>>> ids = search.query( ' Tobi dollars ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))Standardmäßig führt Pyreds einen Schnittpunkt der Suchwörter aus. Das vorherige Beispiel würde die folgende Ausgabe ergeben, da nur eine Zeichenfolge sowohl "Tobi" als auch "Dollar" enthält:
Search results for "Tobi dollars":
- Tobi wants four dollarsWir können Pyreds optimieren, um eine Gewerkschaft durch "Union" oder "oder" zu suchen, um#Type () zwischen der Suche#query () und Abfrage#End () zu suchen, was darauf hinweist, dass eine der berechneten Konstanten für die Übereinstimmung der ID vorhanden sein kann.
>>> ids = search.query( ' tobi dollars ' ).type( ' or ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))Die Gewerkschaftssuche würde Folgendes ergeben, da drei Saiten entweder "Tobi" oder "Dollar" enthalten:
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()Die MIT -Lizenz