全文檢索入門

在 PostgreSQL 操作資料的函式

Brian Piccolo

Sr. Director, Digital Strategy

主題

  • 全文檢索
  • 擴充 PostgreSQL
  • 用擴充功能強化全文檢索
在 PostgreSQL 操作資料的函式

LIKE 運算子

_ 萬用字元:比對恰好 1 個字元。

% 萬用字元:比對 0 個或多個字元。

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 操作資料的函式

什麼是全文檢索?

全文檢索可讓你在資料庫中以自然語言查詢文字資料。

  • 詞幹化(Stemming)

  • 拼寫錯誤

  • 排名

在 PostgreSQL 操作資料的函式

全文檢索語法說明

SELECT title, description
FROM film
WHERE to_tsvector(title) @@ to_tsquery('elf');
在 PostgreSQL 操作資料的函式

一起來練習吧!

在 PostgreSQL 操作資料的函式

Preparing Video For Download...