PostgreSQLCung cấp hai loại dữ liệu được thiết kế để hỗ trợ kèo tỷ số bóng đá euro hôm nay đầy đủ, đây là hoạt động tìm kiếm thông qua bộ sưu tập ngôn ngữ tự nhiênTài liệuĐể định vị những người phù hợp nhất với ATruy vấn. ThetsVector
Loại đại diện cho một tài liệu trong một biểu mẫu được tối ưu hóa để kèo tỷ số bóng đá euro hôm nay; Thetsquery
Nhập biểu thị tương tự một truy vấn văn kèo tỷ số bóng đá euro hôm nay.Chương 12Cung cấp một lời giải thích chi tiết về cơ sở này vàPhần 9.13Tóm tắt các chức năng và toán tử liên quan.
TSVECTOR
AtsVector
Giá trị là danh sách được sắp xếp của riêng biệtLexeme, đó là những từ đã đượcchuẩn hóaĐể hợp nhất các biến thể khác nhau của cùng một từ (xemChương 12Để biết chi tiết). Sắp xếp và loại bỏ trùng lặp được thực hiện tự động trong quá trình nhập, như trong ví dụ này:
Chọn 'Một con mèo béo ngồi trên thảm và ăn một con chuột béo' :: tsvector; TSVECTOR ------------------------------------------------------------ 'A' 'và' 'ATE' 'CAT' 'FAT' 'MAT' 'ON' 'RAT' 'SAT'
11727_11814
Chọn $$ Lexeme '' chứa khoảng trắng $$ :: tsvector; TSVECTOR ----------------------------------------------- '' 'chứa' 'lexeme' 'spaces' 'the'
(Chúng tôi sử dụng các chuỗi chữ được trích xuất bằng đô la trong ví dụ này và phần tiếp theo để tránh sự nhầm lẫn khi phải tăng gấp đôi các dấu hiệu trích dẫn trong các chữ cái.)
12266_12454
Tùy chọn, Số nguyênVị trícó thể được gắn vào từ vựng:
Chọn 'A: 1 FAT: 2 CAT: 3 SAT: 4 ON: 5 A: 6 MAT: 7 và: 8 AT: 9 A: 10 FAT: 11 RAT: 12' :: TSVECTOR; TSVECTOR ---------------------------------------------------------------------------------------- 'A': 1,6,10 'và': 8 'ATE': 9 'CAT': 3 'FAT': 2,11 'MAT': 7 'ON': 5 'RAT': 12 'Sat': 4
Một vị trí thường chỉ ra vị trí của từ nguồn trong tài liệu. Thông tin vị trí có thể được sử dụng choXếp hạng gần. Giá trị vị trí có thể nằm trong khoảng từ 1 đến 16383; Các số lớn hơn được đặt âm thầm thành 16383. Các vị trí trùng lặp cho cùng một từ vựng bị loại bỏ.
Lexeme có vị trí có thể được dán nhãn tiếp theoTrọng lượng, có thể làA
, B
, C
hoặcD
. D
là mặc định và do đó không được hiển thị trên đầu ra:
13556_13677
Trọng lượng thường được sử dụng để phản ánh cấu trúc tài liệu, ví dụ bằng cách đánh dấu các từ tiêu đề khác với các từ cơ thể. Các chức năng xếp hạng kèo tỷ số bóng đá euro hôm nay có thể gán các ưu tiên khác nhau cho các điểm đánh dấu trọng lượng khác nhau.
Điều quan trọng là phải hiểu rằngTSVECTOR
Loại kèo tỷ số bóng đá euro hôm nay thân không thực hiện bất kỳ cách chuẩn hóa từ nào; Nó giả định các từ mà nó được đưa ra được chuẩn hóa một cách thích hợp cho ứng dụng. Ví dụ,
Chọn 'Chuột béo' :: TSVector; TSVECTOR -------------------- 'Béo' 'chuột' ''
Đối với hầu hết các ứng dụng kèo tỷ số bóng đá euro hôm nay tiếng Anh, các từ trên sẽ được coi là không bình thường, nhưngTSVECTOR
không quan tâm. Văn kèo tỷ số bóng đá euro hôm nay tài liệu thô thường được truyền quaTO_TSVECTOR
Để bình thường hóa các từ một cách thích hợp để kèo tỷ số bóng đá euro hôm nay:
Chọn To_TSVector ('Tiếng Anh', 'Chuột béo'); to_tsVector ----------------- 'béo': 2 'chuột': 3
Một lần nữa, xemChương 12Để biết thêm chi tiết.
tsquery
Atsquery
15198_15300&
(và),|
(hoặc) và!
(không), cũng như toán tử kèo tỷ số bóng đá euro hôm nay cụm từ<-
(tiếp theo là). Ngoài ra còn có một biến thể<
của sau đó là toán tử, trong đón
n
là hằng số số nguyên chỉ định khoảng cách giữa hai từ vựng đang được kèo tỷ số bóng đá euro hôm nay.<-
tương đương với<1
.
ngoặc đơn có thể được sử dụng để thực thi nhóm các toán tử này. Trong trường hợp không có dấu ngoặc đơn,!
(không) liên kết chặt chẽ nhất,<-
(theo sau) tiếp theo một cách chặt chẽ nhất, sau đó&
(và), với|
(hoặc) ràng buộc ít nhất.
Đây là một số ví dụ:
16307_16628
Tùy chọn, từ vựng trong Atsquery
Có thể được dán nhãn với một hoặc nhiều chữ cái trọng lượng, điều này hạn chế chúng chỉ phù hợpTSVECTOR
Lexeme với một trong những trọng số đó:
Chọn 'Fat: AB & Cat' :: Tsquery; tsquery ------------------ 'Fat': AB & 'Cat'
Ngoài ra, từ vựng trong Atsquery
17044_17067*
Để chỉ định khớp tiền tố:
Chọn 'Super:*' :: tsQuery; tsquery ----------- 'Super':*
Truy vấn này sẽ khớp với bất kỳ từ nào trong ATSVECTOR
bắt đầu bằngHồiSuper.
17397_17477tsVector
; và, như vớitsVector
, Bất kỳ sự chuẩn hóa nào của các từ phải được thực hiện trước khi chuyển đổi thànhtsquery
Loại. Theto_tsquery
Hàm thuận tiện để thực hiện bình thường hóa như vậy:
Chọn To_TSQuery ('Fat: AB & Mèo'); to_tsquery ------------------ 'Fat': AB & 'Cat'
Lưu ý rằngto_tsquery
Sẽ xử lý các tiền tố theo cách tương tự như các từ khác, có nghĩa là so sánh này trả về đúng:
Chọn To_TSVector ('sau đại học') @@ to_tsquery ('Postgres:*'); ? Cột? ---------- t
vìPostgres
được phát triển thànhPostgr
:
Chọn To_TSVector ('sau đại học'), to_tsquery ('Postgres:*'); to_tsVector | to_tsquery ---------------+------------ 'Postgradu': 1 | 'postgr':*
sẽ phù hợp với dạng gốc củasau đại học
.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.