tsquery_phrase()
是一个系统函数,用于构建短语查询,以匹配两个相距指定距离的 tsquery
项目。
tsquery_phrase()
添加于 PostgreSQL 9.6。
用法
tsquery_phrase (query1
tsquery
,query2
tsquery
) →tsquery
tsquery_phrase (query1
tsquery
,query2
tsquery
,distance
integer
) →tsquery
第一个变体等效于第二个变体,其中 distance
设置为 1
。
更改历史记录
- PostgreSQL 9.6
- 添加 (提交 bb140506)
示例
tsquery_phrase()
的基本用法示例
postgres=# SELECT tsquery_phrase('brown'::tsquery, 'fox'::tsquery); tsquery_phrase ------------------- 'brown' <-> 'fox' (1 row)
这匹配文本,其中 brown
和 fox
相邻,但当它们至少被另一个单词分隔时则不匹配。
postgres=# SELECT to_tsvector('quick brown fox') @@ tsquery_phrase('brown'::tsquery, 'fox'::tsquery); ?column? ---------- t (1 row) postgres=# SELECT to_tsvector('brown quick fox') @@ tsquery_phrase('brown'::tsquery, 'fox'::tsquery); ?column? ---------- f (1 row)
指定 distance
值将在 brown
和 fox
被该数量的单词分隔时产生匹配。
postgres=# SELECT to_tsvector('brown quick fox') @@ tsquery_phrase('brown'::tsquery, 'fox'::tsquery, 2); ?column? ---------- t (1 row)
参考文献
- PostgreSQL 文档: 文本搜索函数