當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。