我有一个简单的 redisearch 索引,我用 Python 创建:
>>> from redisearch import Client, TextField
>>> c = Client('common_words')
>>> c.create_index((TextField('body'),))
b'OK'
>>> c.add_document('ibiza', body='kevin paul dad')
b'OK'
>>> c.add_document('england', body='kevin dad')
b'OK'
>>> c.add_document('bank', body='kevin robber')
b'OK'
然后我可以搜索一个特定的单词,效果很好:
>>> c.search('kevin')
Result{3 total, docs:
[Document {'id': 'bank', 'payload': None, 'body': 'kevin robber'},
Document {'id': 'england', 'payload': None, 'body': 'kevin dad'},
Document {'id': 'ibiza', 'payload': None, 'body': 'kevin paul dad'}
]}
有没有一种快速的方法来提取单词列表以及出现的情况?我的目标是这样的结果:
{ Result{4 total, counts:
[ Word { 'word': 'kevin', 'count': 3},
Word { 'word': 'dad', 'count': 2 },
Word { 'word': 'paul', 'count': 1 },
Word { 'word': 'robber', 'count': 1 } ] }
我已经看过如何使用这个例子进行字数统计nltk
,zincrby
但想知道是否已经有一种方法可以从redisearch
.