全文检索简介

在 PostgreSQL 中使用函数处理数据

Brian Piccolo

Sr. Director, Digital Strategy

主题

  • 全文检索
  • 扩展 PostgreSQL
  • 用扩展改进全文检索
在 PostgreSQL 中使用函数处理数据

LIKE 运算符

下划线 _ 通配符:匹配且只匹配一个字符。

百分号 % 通配符:匹配零个或多个字符。

SELECT title
FROM film
WHERE title LIKE 'ELF%';
+----------------------+
| title                |
+----------------------+
| ELF PARTY            |
+----------------------+
在 PostgreSQL 中使用函数处理数据

LIKE 运算符

SELECT title
FROM film
WHERE title LIKE '%ELF';
+----------------------+
| title                |
+----------------------+
| ENCINO ELF           |
| GHOSTBUSTERS ELF     |
+----------------------+
在 PostgreSQL 中使用函数处理数据

LIKE 运算符

SELECT title
FROM film
WHERE title LIKE '%elf%';
+----------------------+
| title                |
+----------------------+
在 PostgreSQL 中使用函数处理数据

LIKE 与全文检索

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
+----------------------+
| title                |
+----------------------+
| ELF PARTY            |
| ENCINO ELF           |
| GHOSTBUSTERS ELF     |
+----------------------+
在 PostgreSQL 中使用函数处理数据

什么是全文检索?

全文检索可对数据库中的文本数据进行自然语言查询。

  • 词干提取

  • 拼写错误

  • 排名

在 PostgreSQL 中使用函数处理数据

全文检索语法解析

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
在 PostgreSQL 中使用函数处理数据

Passons à la pratique !

在 PostgreSQL 中使用函数处理数据

Preparing Video For Download...