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ỉ kèo bóng đá hôm nay và ngày mai.
Có thể thực hiện tìm kiếm văn bản đầy đủ mà không cần chỉ kèo bóng đá hôm nay và ngày mai. Một truy vấn đơn giản để inTiêu đề
của mỗi hàng có chứa từbạn
Trong nóBody
Trườ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è
và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 Anh
Cấ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ạo
vàBảng
TrongTiêu đề
hoặcBody
:
Chọn tiêu đề
Để rõ ràng, chúng tôi đã bỏ quaHOUNESCE
Các cuộc gọi chức năng cần thiết để tìm các hàng có chứanull
Trong 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ỉ kèo bóng đá hôm nay và ngày mai, 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ỉnh thoảng. 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ỉ kèo bóng đá hôm nay và ngày mai.
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 kèo bóng đá hôm nay và ngày mai:
12720_12795
Lưu ý rằng phiên kèo bóng đá hôm nay và ngày mai 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ỉ kèo bóng đá hôm nay và ngày mai biểu thức (Phần 11.7). Điều này là do nội dung chỉ kèo bóng đá hôm nay và ngày mai 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ỉ kèo bóng đá hôm nay và ngày mai có thể không nhất quán vì các kèo bóng đá hôm nay và ngày mai khác nhau có thể chứatsVector
s đượ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ỉ kèo bóng đá hôm nay và ngày mai như vậy một cách chính xác.
Bởi vì phiên kèo bóng đá hôm nay và ngày mai hai đối số củaTO_TSVECTOR
13678_13769TO_TSVECTOR
Với cùng tên cấu hình sẽ sử dụng chỉ kèo bóng đá hôm nay và ngày mai đó. Đó là,WHERE TO_TSVECTOR ('English', body) @@ 'A & B'
có thể sử dụng chỉ kèo bóng đá hôm nay và ngày mai, nhưngwhere to_tsvector (body) @@ 'A & B'
Không thể. Điều này đảm bảo rằng một chỉ kèo bóng đá hôm nay và ngày mai sẽ chỉ được sử dụng với cùng một cấu hình được sử dụng để tạo các kèo bóng đá hôm nay và ngày mai nhập chỉ kèo bóng đá hôm nay và ngày mai.
Có thể thiết lập các chỉ kèo bóng đá hôm nay và ngày mai 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ụ:
14322_14399
WHERECONFIG_NAME
là một cột trongPGWEB
Bảng. Điều này cho phép các cấu hình hỗn hợp trong cùng một chỉ kèo bóng đá hôm nay và ngày mai trong khi ghi cấu hình nào được sử dụng cho mỗi kèo bóng đá hôm nay và ngày mai nhập chỉ kèo bóng đá hôm nay và ngày mai.WHERE TO_TSVECTOR (config_name, body) @@ 'A & B'
.
Chỉ kèo bóng đá hôm nay và ngày mai thậm chí có thể kết nối các cột:
14977_15068
Một cách tiếp cận khác là tạo riêngtsVector
Cột để giữ đầu ra củato_tsVector
. Ví dụ này là một sự kết hợp củaTiêu đề
vàBody
, sử dụngHOUNESCE
Để đảm bảo rằng một trường vẫn sẽ được lập chỉ kèo bóng đá hôm nay và ngày mai khi phần kia lànull
:
thay đổi bảng pgweb thêm văn kèo bóng đá hôm nay và ngày mai cột nghiên cứu_index_col tsvector;
sau đó chúng ta tạo mộtGinChỉ kèo bóng đá hôm nay và ngày mai để tăng tốc tìm kiếm:
15822_15898
Bây giờ chúng tôi đã sẵn sàng để thực hiện tìm kiếm văn kèo bóng đá hôm nay và ngày mai đầ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ữTSVector
Cột dòng bất cứ lúc nàoTiêu đề
hoặcBody
Thay đổ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ỉ kèo bóng đá hôm nay và ngày mai 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ỉ kèo bóng đá hôm nay và ngày mai. 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_tsVector
Các cuộc gọi để xác minh các kết quả khớp. (Điều này quan trọng hơn khi sử dụng chỉ kèo bóng đá hôm nay và ngày mai GIST hơn chỉ kèo bóng đá hôm nay và ngày mai gin; xemPhần 12.9.) Tuy nhiênTSVECTOR
Đại diện không được lưu trữ rõ ràng.