Hành vi của cấu hình tìm kiếm văn kèo bóng đá c1 tùy chỉnh có thể dễ dàng trở nên khó hiểu. Các chức năng được mô tả trong phần này rất hữu ích để kiểm tra các đối tượng tìm kiếm văn kèo bóng đá c1. Bạn có thể kiểm tra một cấu hình hoàn chỉnh hoặc kiểm tra trình phân tích cú pháp và từ điển riêng biệt.
hàmts_debug
Cho phép dễ dàng kiểm tra cấu hình tìm kiếm văn kèo bóng đá c1.
ts_debug ([config
Regconfig
, ]Document
Text
,, NGOÀIbí danh
Text
,, NGOÀIMô tả
Text
,, NGOÀImã thông báo
Text
,, NGOÀITừ điển
Regdictionary []
, NGOÀITừ điển
Regdictionary
,, NGOÀILexeme
Text []
) trả về kèo bóng đá c1 ghi setof
TS_DEBUG
Hiển thị thông tin về mỗi mã thông báo củaDocument
Được sản xuất bởi trình phân tích cú pháp và được xử lý bởi các từ điển được cấu hình. Nó sử dụng cấu hình được chỉ định bởiconfig
hoặcdefault_text_search_config
Nếu đối số đó bị bỏ qua.
ts_debug
Trả về một hàng cho mỗi mã thông báo được xác định trong văn kèo bóng đá c1 của trình phân tích cú pháp. Các cột được trả về là
bí danh
Text
- Tên ngắn của loại mã thông báo
Mô tả
Text
- Mô tả loại mã thông báo
mã thông báo
Text
- văn kèo bóng đá c1 của mã thông báo
Từ điển
Regdictionary []
- Từ điển được chọn bởi cấu hình cho loại mã thông báo này
Từ điển
Regdictionary
- Từ điển nhận ra mã thông báo hoặcnull
Nếu không có
Lexeme
Text []
- Lexeme (s) được sản xuất bởi từ điển đã nhận ra mã thông báo hoặcnull
Nếu không có; một mảng trống () có nghĩa là nó được công nhận là một từ dừng
Đây là một ví dụ đơn giản:
Chọn * từ TS_Debug ('Tiếng Anh', 'Một con mèo béo ngồi trên thảm - nó đã ăn một con chuột béo'); Bí danh | Mô tả | mã thông báo | Từ điển | Từ điển | từ vựng -----------+------------------+-------+----------------+--------------+------------- asciiword | Từ, tất cả ASCII | A | English_stem | Tiếng Anh_stem | trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | chất béo | English_stem | Tiếng Anh_stem | mập trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | CAT | English_stem | Tiếng Anh_stem | con mèo trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | Sat | English_stem | Tiếng Anh_stem | đã ngồi trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | trên | English_stem | Tiếng Anh_stem | trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | A | English_stem | Tiếng Anh_stem | trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | Mat | English_stem | Tiếng Anh_stem | mat trống | Biểu tượng không gian | | | | trống | Biểu tượng không gian | - | | | asciiword | Từ, tất cả ASCII | nó | English_stem | Tiếng Anh_stem | trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | đã ăn | English_stem | Tiếng Anh_stem | ăn trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | A | English_stem | Tiếng Anh_stem | trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | chất béo | English_stem | Tiếng Anh_stem | mập trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | chuột | English_stem | Tiếng Anh_stem | con chuột
Để trình diễn rộng rãi hơn, trước tiên chúng tôi tạo ra mộtpublic.english
Cấu hình và từ điển ISPELL cho ngôn ngữ tiếng Anh:
Tạo cấu hình tìm kiếm văn kèo bóng đá c1 công khai.English (copy = pg_catalog.english); Tạo từ điển tìm kiếm văn kèo bóng đá c1 English_ispell ( Template = ispell, Dictfile = tiếng Anh, Afffile = tiếng Anh, Stopwords = tiếng Anh ); Thay đổi cấu hình tìm kiếm văn kèo bóng đá c1 công khai.english Thay đổi ánh xạ cho asciiword bằng English_ispell, English_stem;
Chọn * từ ts_debug ('public.english', 'Supernovaes sáng nhất'); Bí danh | Mô tả | mã thông báo | Từ điển | Từ điển | từ vựng -----------+-----------------+-------------+-----------------------------------+----------------+---------------------- asciiword | Từ, tất cả ASCII | | English_ispell, English_stem | Tiếng Anh_ispell | trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | Sáng nhất | English_ispell, English_stem | Tiếng Anh_ispell | sáng trống | Biểu tượng không gian | | | | asciiword | Từ, tất cả ASCII | Supernovaes | English_ispell, English_stem | Tiếng Anh_stem | supernova
Trong ví dụ này, từsáng nhất
đã được trình phân tích cú pháp công nhận làASCII Word
(bí danhasciiword
). Đối với loại mã thông báo này, danh sách từ điển làEnglish_ispell
vàEnglish_stem
. Từ được công nhận bởiEnglish_ispell
, giảm nó thành danh từSáng
. TừSupernovaes
không được biết đếnEnglish_ispell
Từ điển để nó được chuyển sang từ điển tiếp theo, và may mắn thay, đã được công nhận (trên thực tế,English_stem
là một từ điển bóng tuyết nhận ra mọi thứ; Đó là lý do tại sao nó được đặt ở cuối danh sách từ điển).
TừThe
đã được công nhận bởiEnglish_ispell
Từ điển như một từ dừng (Phần 12.6.1) và sẽ không được lập chỉ mục. Các không gian cũng bị loại bỏ, vì cấu hình không cung cấp từ điển nào cho chúng.
Bạn có thể giảm chiều rộng của đầu ra bằng cách chỉ định rõ ràng những cột bạn muốn thấy:
Chọn bí danh, mã thông báo, từ điển, từ vựng Từ ts_debug ('public.english', 'các siêu tân tinh sáng nhất'); Bí danh | mã thông báo | Từ điển | từ vựng -----------+-------------+----------------+------------- asciiword | | Tiếng Anh_ispell | trống | | | asciiword | Sáng nhất | Tiếng Anh_ispell | sáng trống | | | asciiword | Supernovaes | Tiếng Anh_stem | supernova
Các chức năng sau cho phép kiểm tra trực tiếp trình phân tích cú pháp tìm kiếm văn kèo bóng đá c1.
ts_parse (Parser_name
Text
,tài liệu
Text
,, NGOÀITokid
Số nguyên
, ramã thông báo
Text
) Trả vềkèo bóng đá c1 ghi Setof
ts_parse (Parser_oid
oid
,Document
Text
,, NGOÀITokid
Số nguyên
, OUTmã thông báo
Text
) Trả vềSetof Record
ts_parse
phân tích cú pháp đã choDocument
và trả về một loạt các kèo bóng đá c1 ghi, một kèo bóng đá c1 ghi cho mỗi mã thông báo được tạo bằng cách phân tích cú pháp. Mỗi kèo bóng đá c1 ghi bao gồm mộtTokid
Hiển thị loại mã thông báo được gán và Amã thông báo
đó là văn kèo bóng đá c1 của mã thông báo. Ví dụ:
Chọn * từ ts_parse ('mặc định', '123 - một số'); tokid | mã thông báo -------+-------- 22 | 123 12 | 12 | - 1 | Một 12 | 1 | con số
ts_token_type (Parser_name
Text
, OUTTokid
Số nguyên
,, NGOÀIbí danh
Text
, raMô tả
Text
) trả vềSetof Record
ts_token_type (Parser_oid
OID
, OUTTokid
Số nguyên
,, NGOÀIbí danh
Text
, raMô tả
Text
) Trả vềSETOF Record
ts_token_type
Trả về một bảng mô tả từng loại mã thông báo mà trình phân tích cú pháp được chỉ định có thể nhận ra. Đối với mỗi loại mã thông báo, bảng cung cấp số nguyênTokid
mà trình phân tích cú pháp sử dụng để dán nhãn mã thông báo thuộc loại đó,bí danh
Đặt tên cho loại mã thông báo trong các lệnh cấu hình và ngắnMô tả
. Ví dụ:
Chọn * từ ts_token_type ('mặc định'); tokid | Bí danh | Sự miêu tả -------+---------------------+-------------------------------------------------- 1 | asciiword | Từ, tất cả ascii 2 | Từ | Từ, tất cả các chữ cái 3 | Numword | Từ, chữ cái và chữ số 4 | Email | Địa chỉ email 5 | URL | URL 6 | Máy chủ | Chủ nhà 7 | sfloat | Ký hiệu khoa học 8 | Phiên kèo bóng đá c1 | Số phiên kèo bóng đá c1 9 | HWORD_NUMPART | Phần, chữ cái và chữ số chữ báo chí 10 | HWORD_PART | Phần từ được gạch nối, tất cả các chữ cái 11 | HWORD_ASCIIPART | Phần từ được gạch nối, tất cả ascii 12 | trống | Biểu tượng không gian 13 | Tag | Thẻ XML 14 | Giao thức | Đầu giao thức 15 | numHword | Từ, chữ cái và chữ số được gạch nối 16 | asciihword | Từ Hyphenated, tất cả ascii 17 | HWORD | Từ được báo chí, tất cả các chữ cái 18 | url_path | Đường dẫn URL 19 | Tệp | Tệp hoặc tên đường dẫn 20 | FLOAT | Ký hiệu thập phân 21 | int | Đã ký Số nguyên 22 | uint | Số nguyên không dấu 23 | thực thể | Thực thể XML
Thets_lexize
Hàm tạo điều kiện kiểm kèo bóng đá c1 từ điển.
ts_lexize (dict
Regdictionary
,mã thông báo
Text
) trả vềText []
ts_lexize
Trả về một mảng từ vựng nếu đầu vàomã thông báo
được biết đến từ điển hoặc một mảng trống nếu mã thông báo được biết đến từ điển nhưng đó là một từ dừng hoặcnull
Nếu đó là một từ không xác định.
ví dụ:
Chọn TS_LEXIZE ('English_stem', 'Stars'); ts_lexize ----------- ngôi sao Chọn ts_lexize ('English_stem', 'a'); ts_lexize -----------
Thets_lexize
Hàm mong đợi mộtmã thông báo, không phải văn kèo bóng đá c1. Đây là một trường hợp điều này có thể gây nhầm lẫn:
Chọn TS_LEXIZE ('thesaurus_astro', 'Supernovae Stars') là NULL; ? Cột? ---------- t
Từ điển Thesaurusthesaurus_astro
không biết cụm từSupernovae Stars
, nhưngts_lexize
thất bại vì nó không phân tích văn kèo bóng đá c1 đầu vào nhưng coi nó là một mã thông báo duy nhất. Sử dụngPlainto_tsquery
hoặcTO_TSVECTOR
Để kiểm kèo bóng đá c1 từ điển từ điển, ví dụ:
Chọn Plainto_tsquery ('Supernovae Stars'); Plainto_tsquery ----------------- 'Sn'
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.