我有一个使用SOLR进行索引的Django项目.
我正在尝试使用Haystack的SearchQuerySet类进行子字符串搜索.
例如,当用户搜索术语"ear"时,它应返回具有值为"Search"的字段的条目.如您所见,"耳朵"是"搜索"的SUBSTRING .(显然:))
换句话说,在一个完美的Django世界中,我想要的是:
SearchQuerySet().all().filter(some_field__contains_substring='ear')
Run Code Online (Sandbox Code Playgroud)
在SearchQuerySet(https://django-haystack.readthedocs.org/en/latest/searchqueryset_api.html#field-lookups)的haystack文档中,它表示只支持以下FIELD LOOKUP类型:
我尝试使用__ contains,但它的行为完全一样__exact,它在一个句子中查找确切的单词(整个单词),而不是单词的子串.
我很困惑,因为这样的功能是非常基本的,我不确定我是否遗漏了某些东西,或者还有另一种方法可以解决这个问题(使用正则表达式还是什么?).
谢谢