本文介紹 django.contrib.postgres.search.SearchQuery
的用法。
聲明
class SearchQuery(value, config=None, search_type='plain')
SearchQuery
將用戶提供的術語轉換為搜索查詢對象,數據庫將其與搜索向量進行比較。默認情況下,用戶提供的所有詞都會通過詞幹算法,然後它會查找所有結果詞的匹配項。
如果 search_type
是 'plain'
(這是默認設置),則這些術語將被視為單獨的關鍵字。如果 search_type
是 'phrase'
,則將術語視為單個短語。如果 search_type
是 'raw'
,那麽您可以提供帶有術語和運算符的格式化搜索查詢。如果 search_type
是 'websearch'
,那麽您可以提供格式化的搜索查詢,類似於網絡搜索引擎使用的查詢。 'websearch'
要求 PostgreSQL ≥ 11。閱讀 PostgreSQL 的 Full Text Search docs 以了解差異和語法。例子:
>>> from django.contrib.postgres.search import SearchQuery
>>> SearchQuery('red tomato') # two keywords
>>> SearchQuery('tomato red') # same results as above
>>> SearchQuery('red tomato', search_type='phrase') # a phrase
>>> SearchQuery('tomato red', search_type='phrase') # a different phrase
>>> SearchQuery("'tomato' & ('red' | 'green')", search_type='raw') # boolean operators
>>> SearchQuery("'tomato' ('red' OR 'green')", search_type='websearch') # websearch operators
SearchQuery
術語可以在邏輯上組合以提供更大的靈活性:
>>> from django.contrib.postgres.search import SearchQuery
>>> SearchQuery('meat') & SearchQuery('cheese') # AND
>>> SearchQuery('meat') | SearchQuery('cheese') # OR
>>> ~SearchQuery('meat') # NOT
有關 config
參數的說明,請參閱更改搜索配置。
相關用法
- Python Django SearchHeadline用法及代碼示例
- Python Django SearchVectorField用法及代碼示例
- Python Django SearchRank用法及代碼示例
- Python Django SearchVector用法及代碼示例
- Python Seaborn.barplot()用法及代碼示例
- Python Tableau Server用法及代碼示例
- Python Set issubset()用法及代碼示例
- Python Set issuperset()用法及代碼示例
- Python Pandas Series.cumsum()用法及代碼示例
- Python Pandas Series.cov()用法及代碼示例
- Python Set difference_update()用法及代碼示例
- Python Django SelectDateWidget.months用法及代碼示例
- Python Set union()用法及代碼示例
- Python Set pop()用法及代碼示例
- Python Django SelectDateWidget.empty_label用法及代碼示例
- Python Pandas Series.astype()用法及代碼示例
- Python Pandas Series.nonzero()用法及代碼示例
- Python Pandas Series.cummin()用法及代碼示例
- Python Set add()用法及代碼示例
- Python Set clear()用法及代碼示例
- Python Set isdisjoint()用法及代碼示例
- Python Set intersection_update()用法及代碼示例
- Python Set symmetric_difference()用法及代碼示例
- Python Pandas Series.mad()用法及代碼示例
- Python Set symmetric_difference_update()用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.contrib.postgres.search.SearchQuery。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。