相关疑难解决方法(0)

Django Haystack - 使用SearchQuerySet()按字段的子字符串过滤

我有一个使用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类型:

  • 包含
  • 精确
  • gt,gte,lt,lte
  • 以..开始
  • 范围

我尝试使用__ contains,但它的行为完全一样__exact,它在一个句子中查找确切的单词(整个单词),而不是单词的子串.

我很困惑,因为这样的功能是非常基本的,我不确定我是否遗漏了某些东西,或者还有另一种方法可以解决这个问题(使用正则表达式还是什么?).

谢谢

django django-haystack

5
推荐指数
1
解决办法
3500
查看次数

标签 统计

django ×1

django-haystack ×1