Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 12. Tìm kiếm toàn kèo bóng đá pháp | Chuyển tiếp nhanh | Tiếp theo |
Hành vi của cấu hình tìm kiếm văn kèo bóng đá pháp tùy chỉnh có thể dễ dàng trở nên đủ phức tạp để khó hiểu hoặc không mong muốn. Các Các chức năng được mô tả trong phần này rất hữu ích để kiểm tra văn kèo bóng đá pháp Đối tượng tìm kiếm. Bạn có thể kiểm tra một cấu hình hoàn chỉnh hoặc kiểm tra 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 đá pháp.
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ÀI11313_11325 Regdictionary,,
NGOÀILexeme Text [])
trả về kèo bóng đá pháp 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ấu hình
Từ điển. Nó sử dụng cấu hình được chỉ định bởiconfighoặcdefault_text_search_configNếu đối số đó là
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 đá pháp của trình phân tích cú pháp. Các cột
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 đá pháp 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 được công nhận mã thông báo hoặcnullNế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ặcnullNếu không có; một mảng trống () có nghĩa là nó được công nhận là điểm dừng từ
Đây là một ví dụ đơn giản:
13429_15446
Để trình diễn rộng rãi hơn, trước tiên chúng tôi tạo ra mộtpublic.englishCấ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 đá pháp công khai.English (copy = pg_catalog.english); Tạo từ điển tìm kiếm văn kèo bóng đá pháp 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 đá pháp 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 từ(bí danhasciiword). Cho điều này Loại mã thông báo danh sách từ điển làEnglish_ispellvàEnglish_stem. Từ được công nhận bởiEnglish_ispell, làm giảm nó thành danh từSáng. TừSupernovaeskhông được biết đếnEnglish_ispellTừ điển để nó được chuyển cho Từ điển tiếp theo, và, may mắn thay, đã được công nhận (trên thực tế,17532_17546là một từ điển bóng tuyết trong đó nhận ra mọi thứ; Đó là lý do tại sao nó được đặt tại Kết thúc danh sách từ điển).
TừTheđã được công nhận bởiEnglish_ispellTừ điển như một điểm dừng từ (Phần 12.6.1) và sẽ không được lập chỉ mục. Không gian bị loại bỏ cũng vậy, vì cấu hình không cung cấp từ điển nào cả cho họ.
Bạn có thể giảm âm lượng đầu ra bằng cách chỉ định rõ ràng Cột bạn muốn xem:
18183_18648
Các chức năng sau cho phép kiểm tra trực tiếp một văn kèo bóng đá pháp Trình phân tích cú pháp tìm kiếm.
ts_parse (Parser_name Text, Document Text, OutTokid Số nguyên, OUTmã thông báo Text) trả vềSetof Recordts_parse (Parser_oid OID, Document Text, OUTTokid Số nguyên, Outmã thông báo Text) Trả vềSetof Record
ts_parse
19702_19726Documentvà trả lại một loạt
của hồ sơ, một cho mỗi mã thông báo được tạo ra bởi phân tích cú pháp. Mỗi kèo bóng đá pháp ghi
Bao gồm mộtTokidHiển thị được gán
loại mã thông báo và mộtmã thông báođó là
Văn kèo bóng đá pháp 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, OUTbí danh Text, OUTMô tả Text20598_20610Setof Recordts_token_type (Parser_oid OID, ra ngoàiTokid Số nguyên, OUTbí danh Text, OUTMô tả Text) Trả vềSETOF Record
ts_token_type
Trả về một bảng
trong đó 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ênTokidmà 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Điều đó
Đặ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ụ:
21492_22733
Thets_lexize
Hàm
tạo điều kiện kèo bóng đá pháp 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ừ bỏ nếu đầu vàomã thông báoIS
được biết đến từ điển hoặc một mảng trống nếu mã thông báo là
được biết đến từ điển nhưng nó là một từ dừng, hoặcnullNế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 -----------
Lưu ý:The
ts_lexize
Hàm mong đợi mộtmã thông báo, không phải văn kèo bóng đá pháp. Đây là a 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? ---------- tTừ điển Thesaurusthesaurus_astrokhông biết cụm từSupernovae Stars, nhưng
ts_lexize
thất bại vì nó không phân tích Văn kèo bóng đá pháp đầ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
Để kèo bóng đá pháp từ điển đồng nghĩa Từ điển, ví dụ:Chọn Plainto_tsquery ('Supernovae Stars'); Plainto_tsquery ----------------- 'Sn'