当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django SearchVector用法及代码示例


本文介绍 django.contrib.postgres.search.SearchVector 的用法。

声明

class SearchVector(*expressions, config=None, weight=None)

针对单个字段进行搜索很棒,但也很有限。我们正在搜索的 Entry 实例属于 Blog ,它有一个 tagline 字段。要查询这两个字段,请使用 SearchVector

>>> from django.contrib.postgres.search import SearchVector
>>> Entry.objects.annotate(
...     search=SearchVector('body_text', 'blog__tagline'),
... ).filter(search='Cheese')
[<Entry: Cheese on Toast recipes>, <Entry: Pizza Recipes>]

SearchVector 的参数可以是任何 Expression 或字段的名称。多个参数将使用空格连接在一起,以便搜索文档包含所有参数。

SearchVector 对象可以组合在一起,允许您重复使用它们。例如:

>>> Entry.objects.annotate(
...     search=SearchVector('body_text') + SearchVector('blog__tagline'),
... ).filter(search='Cheese')
[<Entry: Cheese on Toast recipes>, <Entry: Pizza Recipes>]

有关 configweight 参数的说明,请参阅更改搜索配置和加权查询。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.postgres.search.SearchVector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。