django haystack如何在单词中找到子串?

时间:2012-08-16 12:30:52

标签: django django-haystack

在我的字段中,内容是“示例”。 我不仅想找到确切的单词“example”,我还想找到“examp”。我怎样才能做到这一点?有没有选择。找不到任何东西。

1 个答案:

答案 0 :(得分:4)

如果您只想搜索以某些字符串开头的对象,那么只需查看Haystack SearchQuerySet API文档即可。它类似于Django QuerySet API,因此可以编写:

SearchQuerySet().filter(content__startswith='examp')
SearchQuerySet().filter(content__contains='examp')

或任何你想要的东西。

但这个问题还有更深层次的内容。我认为你真的不需要。由于搜索引擎的工作方式 - 当有人搜索e.q. “监控”它被阻止了(它是获得类似于词的根的过程 - 所以我们将从'监视'获得'监视')并且实际上将进行搜索。此外,搜索索引中的所有内容都会被阻止,因此搜索监视器将返回包含f.e的结果。 '监视','监视','监视'等。