Phiên tỷ lệ kèo bóng đá được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên tỷ lệ kèo bóng đá phát triển:18 / Devel
Phiên tỷ lệ kèo bóng đá không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
Tài liệu này dành cho phiên tỷ lệ kèo bóng đá không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên tỷ lệ kèo bóng đá hoặc một trong các phiên tỷ lệ kèo bóng đá được hỗ trợ khác được liệt kê ở trên thay thế.

12.2. Bảng và chỉ tỷ lệ kèo bóng đá

Các ví dụ trong phần trước được minh họa toàn bộ văn bản khớp bằng cách sử dụng các chuỗi hằng số đơn giản. Phần này cho thấy cách tìm kiếm dữ liệu bảng, tùy chọn sử dụng các chỉ tỷ lệ kèo bóng đá.

12.2.1. Tìm kiếm một tỷ lệ kèo bóng đá

Có thể thực hiện tìm kiếm văn bản đầy đủ mà không cần chỉ tỷ lệ kèo bóng đá. Một truy vấn đơn giản để inTiêu đềcủa mỗi hàng có chứa từbạnTrong nóBodyTrường là:

Chọn tiêu đề

Điều này cũng sẽ tìm thấy các từ liên quan nhưbạn bèthân thiện, vì tất cả những thứ này được giảm xuống cùng một từ vựng được chuẩn hóa.

Truy vấn ở trên chỉ định rằngtiếng AnhCấu hình sẽ được sử dụng để phân tích và bình thường hóa các chuỗi. Ngoài ra, chúng tôi có thể bỏ qua các tham số cấu hình:

Chọn tiêu đề

Truy vấn này sẽ sử dụng cấu hình được đặt bởidefault_text_search_config.

Một ví dụ phức tạp hơn là chọn mười tài liệu gần đây nhất có chứaTạotỷ lệ kèo bóng đátrongTiêu đềhoặcBody:

Chọn tiêu đề

Để rõ ràng, chúng tôi đã bỏ quaHOUNESCECác cuộc gọi chức năng cần thiết để tìm các hàng có chứanullTrong một trong hai trường.

Mặc dù các truy vấn này sẽ hoạt động mà không có chỉ tỷ lệ kèo bóng đá, hầu hết các ứng dụng sẽ thấy cách tiếp cận này quá chậm, ngoại trừ có lẽ đối với các tìm kiếm ad-hoc thường xuyên. Sử dụng thực tế tìm kiếm văn bản thường yêu cầu tạo một chỉ tỷ lệ kèo bóng đá.

12.2.2. Tạo chỉ tỷ lệ kèo bóng đá

Chúng ta có thể tạo mộtGinindex (Phần 12.9) Để tăng tốc các tìm kiếm văn tỷ lệ kèo bóng đá:

11987_12061

Lưu ý rằng phiên tỷ lệ kèo bóng đá 2 đối số củato_tsVectorđược sử dụng. Chỉ có thể sử dụng các chức năng tìm kiếm văn bản chỉ định tên cấu hình có thể được sử dụng trong các chỉ tỷ lệ kèo bóng đá biểu thức (Phần 11.7). Điều này là do nội dung chỉ tỷ lệ kèo bóng đá phải không bị ảnh hưởng bởidefault_text_search_config. Nếu chúng bị ảnh hưởng, nội dung chỉ tỷ lệ kèo bóng đá có thể không nhất quán vì các tỷ lệ kèo bóng đá khác nhau có thể chứaTSVectors được tạo với các cấu hình tìm kiếm văn bản khác nhau và sẽ không có cách nào để đoán đó là cái nào. Không thể bỏ và khôi phục một chỉ tỷ lệ kèo bóng đá như vậy một cách chính xác.

Vì phiên tỷ lệ kèo bóng đá hai đối số củato_tsVectorĐã được sử dụng trong chỉ tỷ lệ kèo bóng đá ở trên, chỉ có một tham chiếu truy vấn sử dụng phiên bản 2-parument củaTO_TSVECTORVới cùng tên cấu hình sẽ sử dụng chỉ tỷ lệ kèo bóng đá đó. Đó là,WHERE TO_TSVECTOR ('English', body) @@ 'A & B'Có thể sử dụng chỉ tỷ lệ kèo bóng đá, nhưngwhere to_tsvector (body) @@ 'A & B'Không thể. Điều này đảm bảo rằng một chỉ tỷ lệ kèo bóng đá sẽ chỉ được sử dụng với cùng một cấu hình được sử dụng để tạo các tỷ lệ kèo bóng đá nhập chỉ tỷ lệ kèo bóng đá.

Có thể thiết lập các chỉ tỷ lệ kèo bóng đá biểu thức phức tạp hơn trong đó tên cấu hình được chỉ định bởi một cột khác, ví dụ:

13503_13579

WHERECONFIG_NAMElà một cột trongPGWEBBảng. Điều này cho phép các cấu hình hỗn hợp trong cùng một chỉ tỷ lệ kèo bóng đá trong khi ghi cấu hình nào được sử dụng cho mỗi tỷ lệ kèo bóng đá nhập chỉ tỷ lệ kèo bóng đá.WHERE TO_TSVECTOR (config_name, body) @@ 'A & B'.

Chỉ tỷ lệ kèo bóng đá thậm chí có thể kết nối các cột:

14145_14235

Một cách tiếp cận khác là tạo riêng biệtTSVECTORCột để giữ đầu ra củato_tsVector. Ví dụ này là một sự kết hợp củaTiêu đềBody, sử dụngHOUNESCEĐể đảm bảo rằng một trường vẫn sẽ được lập chỉ tỷ lệ kèo bóng đá khi loại kia lànull:

14661_14847

sau đó chúng ta tạo mộtGinChỉ tỷ lệ kèo bóng đá để tăng tốc tìm kiếm:

14973_15048

Bây giờ chúng tôi đã sẵn sàng để thực hiện tìm kiếm văn tỷ lệ kèo bóng đá đầy đủ nhanh:

Chọn tiêu đề

Khi sử dụng một cột riêng để lưu trữTSVectorĐại diện, cần phải tạo một trình kích hoạt để giữtsVectorCột dòng bất cứ lúc nàoTiêu đềhoặcBodyThay đổi.Phần 12.4.3Giải thích cách làm điều đó.

Một lợi thế của cách tiếp cận cột riêng biệt so với chỉ tỷ lệ kèo bóng đá biểu thức là không cần thiết phải chỉ định rõ ràng cấu hình tìm kiếm văn bản trong các truy vấn để sử dụng chỉ tỷ lệ kèo bóng đá. Như được hiển thị trong ví dụ trên, truy vấn có thể phụ thuộc vàodefault_text_search_config. Một lợi thế khác là các tìm kiếm sẽ nhanh hơn, vì sẽ không cần thiết để làm lạiTO_TSVECTORCuộc gọi để xác minh các khớp chỉ tỷ lệ kèo bóng đá. (Điều này quan trọng hơn khi sử dụng chỉ tỷ lệ kèo bóng đá GIST hơn chỉ tỷ lệ kèo bóng đá gin; xemPhần 12.9.) Tuy nhiêntsVectorĐại diện không được lưu trữ rõ ràng.