Có hai loại chỉ kèo bóng đá c1 có thể được sử dụng để tăng tốc tìm kiếm toàn văn:Ginvàgist. Lưu ý rằng các chỉ kèo bóng đá c1 không bắt buộc đối với tìm kiếm toàn văn, nhưng trong trường hợp một cột được tìm kiếm thường xuyên, một chỉ kèo bóng đá c1 thường được mong muốn.
Để tạo một chỉ kèo bóng đá c1 như vậy, hãy làm một trong:
Tạo chỉ kèo bóng đá c1tên
trênBảng
Sử dụng gin (cột
);
Tạo một GIN (Chỉ số đảo ngược tổng quát) Chỉ số dựa trên chỉ số. Thecột
phải củatsVector
loại.
Tạo chỉ kèo bóng đá c1tên
trênBảng
Sử dụng gist (cột
[Mặc định | tsVector_ops (siglen =Số
)]);
Tạo một ý chính (cây kèo bóng đá c1 tổng quát). Thecột
có thể là củatsVector
hoặctsquery
Loại. Tham số số nguyên tùy chọnSiglen
Xác định độ dài chữ ký tính bằng byte (xem bên dưới để biết chi tiết).
Chỉ kèo bóng đá c1 GIN là loại chỉ kèo bóng đá c1 tìm kiếm văn bản ưa thích. Là các chỉ kèo bóng đá c1 đảo ngược, chúng chứa một kèo bóng đá c1 nhập chỉ kèo bóng đá c1 cho mỗi từ (lexeme), với một danh sách nén các vị trí phù hợp. Các tìm kiếm nhiều từ có thể tìm thấy trận đấu đầu tiên, sau đó sử dụng chỉ kèo bóng đá c1 để xóa các hàng thiếu các từ bổ sung. Chỉ số Gin chỉ lưu trữ các từ (từ vựng) củaTSVECTOR
Giá trị, và không phải là nhãn trọng lượng của chúng. Do đó, một hàng bảng kiểm tra lại là cần thiết khi sử dụng một truy vấn liên quan đến trọng số.
Chỉ kèo bóng đá c1 GIST làMất, có nghĩa là chỉ kèo bóng đá c1 có thể tạo ra các kết quả phù hợp sai và cần phải kiểm tra hàng bảng thực tế để loại bỏ các kết quả sai lầm như vậy. (PostgreSQLĐiều này có tự động khi cần thiết không.) Các chỉ kèo bóng đá c1 GIST bị mất vì mỗi tài liệu được biểu diễn trong chỉ kèo bóng đá c1 bằng chữ ký có độ dài cố định. Độ dài chữ ký tính bằng byte được xác định bởi giá trị của tham số số nguyên tùy chọnSiglen
. Độ dài chữ ký mặc định (khiSiglen
không được chỉ định) là 124 byte, độ dài chữ ký tối đa là 2024 byte. Chữ ký được tạo bằng cách băm mỗi từ thành một bit trong chuỗi N bit, với tất cả các bit này OR-ed với nhau để tạo ra một chữ ký tài liệu N bit. Khi hai từ băm vào cùng một vị trí bit, sẽ có một trận đấu sai. Nếu tất cả các từ trong truy vấn có các trận đấu (có thật hoặc sai) thì hàng bảng phải được truy xuất để xem trận đấu có chính xác không. Chữ ký dài hơn dẫn đến một tìm kiếm chính xác hơn (quét một phần nhỏ hơn của chỉ kèo bóng đá c1 và ít trang đống hơn), với chi phí của một chỉ số lớn hơn.
Một chỉ kèo bóng đá c1 chính có thể được bao phủ, tức là, sử dụngBao gồm
mệnh đề. Các cột bao gồm có thể có các loại dữ liệu mà không cần bất kỳ lớp toán tử GIST nào. Các thuộc tính bao gồm sẽ được lưu trữ không nén.
Sự mất mát gây ra sự suy giảm hiệu suất do các bản ghi không cần thiết của các bản ghi bảng hóa ra là các trận đấu sai. Vì quyền truy cập ngẫu nhiên vào hồ sơ bảng chậm, điều này giới hạn tính hữu ích của các chỉ kèo bóng đá c1 GIST. Khả năng các trận đấu sai phụ thuộc vào một số yếu tố, đặc biệt là số lượng từ duy nhất, do đó, sử dụng từ điển để giảm số này được khuyến nghị.
Lưu ý rằngGinThời gian xây dựng chỉ kèo bóng đá c1 thường có thể được cải thiện bằng cách tăngbảo trì_work_mem, trong khigistThời gian xây dựng chỉ kèo bóng đá c1 không nhạy cảm với tham số đó.
Phân vùng các bộ sưu tập lớn và việc sử dụng đúng các chỉ kèo bóng đá c1 GIN và GIST cho phép thực hiện các tìm kiếm rất nhanh với cập nhật trực tuyến. Phân vùng có thể được thực hiện ở cấp cơ sở dữ liệu bằng cách sử dụng kế thừa bảng hoặc bằng cách phân phối tài liệu qua máy chủ và thu thập kết quả tìm kiếm bên ngoài, ví dụ: thông quaDữ liệu nước ngoàiTruy cập. Cái sau là có thể vì các chức năng xếp hạng chỉ sử dụng thông tin cục bộ.
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 khớ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.