我正在和Haystack一起使用Whoosh。 Haystack没有抽象出Whoosh中的关键字提取,因此我直接使用Whoosh来实现此功能。
@property
def keywords(self):
whoosh_backend = SearchForm().searchqueryset.query.backend
if not whoosh_backend.setup_complete:
whoosh_backend.setup()
with whoosh_backend.index.searcher() as searcher:
return dict(searcher.key_terms_from_text('text', self.text, normalize=False))
this article的结果:
{'attribut': 0.5051433470901747, 'donor': 0.5002458466718036, 'chariti': 1.0, 'factor': 0.5061597699646493, 'impact': 0.7091847877188343}
不幸的是,Whoosh中的关键字提取似乎返回了词干关键字。有没有办法获得它们的未经编辑的版本,比如最常见或最短的形式? (拼写纠正器以某种方式设法返回未经过干扰的单词。)谢谢!