Reds-легкий поиск Redis для Node.js.
Pyreds - это Python Port of Reds.
Pyreds требует запущенного сервера Redis. Смотрите Redis's QuickStart для инструкций по установке.
Чтобы установить пироги, просто:
$ pip install pyredsВам может потребоваться установить данные NLTK:
>>> import nltk
>>> nltk.download( ' stopwords ' )Первое, что вы захотите сделать, это создать экземпляр поиска, который позволяет вам передать ключ, используемый для размещения имен в Redis, чтобы у вас могло быть несколько поисков в том же DB.
>>> import pyreds
>>> search = pyreds.create_search( ' pets ' )Pyreds действует против произвольных численных или строковых идентификаторов, поэтому вы можете использовать эту библиотеку с по существу, что вы хотите, даже объединяя хранилища данных. В следующем примере просто используется список для нашей «базы данных», содержащей некоторые строки, которые мы добавляем в Pyreds, вызывая Search#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)Чтобы выполнить запрос против Pyreds, просто вызывает поиск#Query () строкой, которая возвращает экземпляр запроса. Затем вызовите запрос#end (), который возвращает список идентификаторов, когда присутствует, или в противном случае.
>>> 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Мы можем настроить Pyreds для выполнения профсоюза, передавая «Союз» или «или» поиск#type () между search#Query () и Query#End (), что указывает на то, что любая из рассчитанных константов может присутствовать для соответствия идентификатора.
>>> ids = search.query( ' tobi dollars ' ).type( ' or ' ).end()
>>> print ( ' Search results for "Tobi dollars" ' ))
>>> for id in ids:
... print ( ' - {} ' .format(strs[ id ]))Поиск профсоюза даст следующее, поскольку три строки содержат либо «тоби», либо «доллары»:
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()Лицензия MIT