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


Python Django SearchHeadline用法及代碼示例


本文介紹 django.contrib.postgres.search.SearchHeadline 的用法。

聲明

class SearchHeadline(expression, query, config=None, start_sel=None, stop_sel=None, max_words=None, min_words=None, short_word=None, highlight_all=None, max_fragments=None, fragment_delimiter=None)

接受單個文本字段或表達式、查詢、配置和一組選項。返回突出顯示的搜索結果。

start_selstop_sel 參數設置為用於在文檔中包裝突出顯示的查詢詞的字符串值。 PostgreSQL 的默認值為 <b></b>

max_wordsmin_words 參數提供整數值以確定最長和最短的標題。 PostgreSQL 的默認值為 35 和 15。

short_word 參數提供一個整數值,以丟棄每個標題中此長度或更短的單詞。 PostgreSQL 的默認值為 3。

highlight_all 參數設置為 True 以使用整個文檔代替片段並忽略 max_wordsmin_wordsshort_word 參數。這在 PostgreSQL 中默認是禁用的。

max_fragments 提供一個非零整數值以設置要顯示的最大片段數。這在 PostgreSQL 中默認是禁用的。

設置fragment_delimiter 字符串參數以配置片段之間的分隔符。 PostgreSQL 的默認值為 " ... "

PostgreSQL 文檔有更多關於 highlighting search results 的詳細信息。

使用示例:

>>> from django.contrib.postgres.search import SearchHeadline, SearchQuery
>>> query = SearchQuery('red tomato')
>>> entry = Entry.objects.annotate(
...     headline=SearchHeadline(
...         'body_text',
...         query,
...         start_sel='<span>',
...         stop_sel='</span>',
...     ),
... ).get()
>>> print(entry.headline)
Sandwich with <span>tomato</span> and <span>red</span> cheese.

有關 config 參數的說明,請參閱更改搜索配置。

相關用法


注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.contrib.postgres.search.SearchHeadline。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。