Phiên soi kèo bóng đá truoctran được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên soi kèo bóng đá truoctran phát triển:18 / Devel
Phiên soi kèo bóng đá truoctran 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

12.2. Bảng và chỉ soi kèo bóng đá truoctran

Các ví dụ trong phần trước được minh họa toàn bộ văn bản 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ỉ soi kèo bóng đá truoctran.

12.2.2. Tạo chỉ soi kèo bóng đá truoctran

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 soi kèo bóng đá truoctran:

12578_12655

Lưu ý rằng phiên soi kèo bóng đá truoctran 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ỉ soi kèo bóng đá truoctran biểu thức (Phần 11.7). Điều này là do nội dung chỉ soi kèo bóng đá truoctran 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ỉ soi kèo bóng đá truoctran có thể không nhất quán vì các soi kèo bóng đá truoctran 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ỉ soi kèo bóng đá truoctran như vậy một cách chính xác.

Vì phiên soi kèo bóng đá truoctran hai đối số củato_tsVectorĐã được sử dụng trong chỉ soi kèo bóng đá truoctran ở 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ỉ soi kèo bóng đá truoctran đó. Đó là,WHERE TO_TSVECTOR ('English', body) @@ 'A & B'Có thể sử dụng chỉ soi kèo bóng đá truoctran, nhưngwhere to_tsvector (body) @@ 'A & B'Không thể. Điều này đảm bảo rằng một chỉ soi kèo bóng đá truoctran sẽ chỉ được sử dụng với cùng một cấu hình được sử dụng để tạo các soi kèo bóng đá truoctran nhập chỉ soi kèo bóng đá truoctran.

Có thể thiết lập các chỉ soi kèo bóng đá truoctran 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ụ:

14198_14277

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ỉ soi kèo bóng đá truoctran trong khi ghi cấu hình nào được sử dụng cho mỗi soi kèo bóng đá truoctran nhập chỉ soi kèo bóng đá truoctran. Điều này sẽ hữu ích, ví dụ, nếu bộ sưu tập tài liệu chứa các tài liệu bằng các ngôn ngữ khác nhau. Một lần nữa, các truy vấn có nghĩa là sử dụng chỉ soi kèo bóng đá truoctran phải được đặt ra để khớp, ví dụ:WHERE TO_TSVECTOR (config_name, body) @@ 'A & B'.

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

14867_14960

Một cách tiếp cận khác là tạo riêng biệttsVectorCột để giữ đầu ra củaTO_TSVECTOR. Để giữ cho cột này tự động cập nhật với dữ liệu nguồn của nó, hãy sử dụng cột được tạo được lưu trữ. 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ỉ soi kèo bóng đá truoctran khi phần kia lànull:

thay đổi soi kèo bóng đá truoctran pgweb
    Thêm cột TextSearchable_index_col tsvector
               Được tạo luôn là (to_tsVector ('tiếng Anh', hợp nhất (tiêu đề, '') || '' || Coalesce (cơ thể, '')))

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

15830_15908

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

Chọn tiêu đề
Từ PGWEB
WHERE TextSearchable_index_col @@ to_tsquery ('Tạo & soi kèo bóng đá truoctran'))
Đặt hàng bởi last_mod_date desc
Giới hạn 10;

Một lợi thế của cách tiếp cận cột riêng biệt so với chỉ soi kèo bóng đá truoctran 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ỉ soi kèo bóng đá truoctran. 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_TSVECTORCá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ỉ soi kèo bóng đá truoctran GIST hơn chỉ soi kèo bóng đá truoctran gin; xemPhần 12.9.) Tuy nhiênTSVECTORĐại diện không được lưu trữ rõ ràng.

Gửi hiệu chỉnh

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.