本文介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。