Để thực hiện kèo bóng đá việt nam toàn văn, phải có một chức năng để tạo ATSVECTOR
Từ một kèo bóng đá việt nam và mộttsquery
Từ truy vấn người dùng. Ngoài ra, chúng ta cần trả lại kết quả theo thứ tự hữu ích, vì vậy chúng ta cần một chức năng so sánh các kèo bóng đá việt nam liên quan đến mức độ liên quan của chúng với truy vấn.PostgreSQLCung cấp hỗ trợ cho tất cả kèo bóng đá việt nam chức năng này.
PostgreSQLcung cấp chức năngTO_TSVECTOR
Để chuyển đổi kèo bóng đá việt nam thànhTSVector
Kiểu dữ kèo bóng đá việt nam.
to_tsVector ([config
Regconfig
, ]Document
Text
) Trả vềTSVECTOR
to_tsVector
11278_11365tsVector
trong đó liệt kê các từ vựng cùng với vị trí của chúng trong kèo bóng đá việt nam. kèo bóng đá việt nam được xử lý theo cấu hình tìm kiếm văn bản được chỉ định hoặc mặc định.
Chọn To_TSVector ('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');
Trong ví dụ trên, chúng ta thấy rằng kết quảTSVECTOR
không chứa kèo bóng đá việt nam từA
, trên
hoặcIT
, từchuột
trở thànhRAT
và Dấu chấm câu-
đã bị bỏ qua.
Theto_tsVector
hàm gọi nội bộ gọi trình phân tích cú pháp phá văn bản kèo bóng đá việt nam thành mã thông báo và gán một loại cho mỗi mã thông báo. Đối với mỗi mã thông báo, một danh sách từ điển (Phần 12.6) được tư vấn, trong đó danh sách có thể thay đổi tùy thuộc vào loại mã thông báo. Từ điển đầu tiênNhận dạngMã thông báo phát ra một hoặc nhiều bình thườngLexemeĐể đại diện cho mã thông báo. Ví dụ,RATS
trở thànhRAT
Bởi vì một trong những từ điển nhận ra rằng từchuột
là một dạng số nhiều củaRAT
. Một số từ được công nhận làDừng từ(Phần 12.6.1), khiến chúng bị bỏ qua vì chúng xảy ra quá thường xuyên để kèo bóng đá việt nam. Trong ví dụ của chúng tôi, đây làA
, trên
vàIT
. Nếu không có từ điển trong danh sách nhận ra mã thông báo thì nó cũng bị bỏ qua.-
Bởi vì trên thực tế không có từ điển nào được gán cho loại mã thông báo của nó (Biểu tượng không gian
), nghĩa là mã thông báo không gian sẽ không bao giờ được lập chỉ mục. Các lựa chọn của trình phân tích cú pháp, từ điển và loại mã thông báo cho chỉ mục được xác định bởi cấu hình kèo bóng đá việt nam văn bản đã chọn (Phần 12.7). Có thể có nhiều cấu hình khác nhau trong cùng một cơ sở dữ kèo bóng đá việt nam và các cấu hình được xác định trước có sẵn cho các ngôn ngữ khác nhau.tiếng Anh
Đối với ngôn ngữ tiếng Anh.
hàmSetweight
có thể được sử dụng để dán nhãn kèo bóng đá việt nam mục của AtsVector
với một đã choTrọng lượng, trong đó trọng lượng là một trong kèo bóng đá việt nam chữ cáiA
, B
, C
hoặcD
. Điều này thường được sử dụng để đánh dấu các mục đến từ các phần khác nhau của kèo bóng đá việt nam, chẳng hạn như tiêu đề so với cơ thể.
vìTO_TSVECTOR
(null
) sẽ trả vềnull
, nên sử dụngHOUNESCE
Bất cứ khi nào một trường có thể là NULL. Đây là phương thức được đề xuất để tạotsVector
Từ một kèo bóng đá việt nam có cấu trúc:
Cập nhật TT SET TI =
Ở đây chúng tôi đã sử dụngSetweight
Để dán nhãn nguồn của mỗi từ vựng trong hoàn thànhtsVector
, và sau đó hợp nhất được dán nhãnTSVector
Giá trị sử dụngtsVector
Toán tử Concatenation||
. (Phần 12.4.1cung cấp chi tiết về kèo bóng đá việt nam hoạt động này.)
PostgreSQLCung cấp kèo bóng đá việt nam chức năngto_tsquery
, Plainto_tsquery
, PHRASETO_TSQUERY
vàWebSearch_TO_TSQuery
Để chuyển đổi truy vấn sangtsquery
Kiểu dữ kèo bóng đá việt nam.to_tsquery
cung cấp quyền truy cập vào nhiều tính năng hơnPlainto_tsquery
hoặcPHRASETO_TSQUERY
, nhưng nó ít tha thứ về đầu vào của nó.websearch_to_tsquery
là phiên kèo bóng đá việt nam đơn giản củato_tsquery
Với cú pháp thay thế, tương tự như bộ được sử dụng bởi các công cụ kèo bóng đá việt nam web.
to_tsquery ([config
Regconfig
, ]QueryText
Text
) Trả vềtsquery
to_tsquery
Tạo Atsquery
Giá trị từQueryText
, phải bao gồm kèo bóng đá việt nam mã thông báo đơn lẻ được phân tách bởitsquery
Người vận hành&
(và),|
(hoặc),!
(không) và<-
(tiếp theo là), có thể được nhóm lại bằng dấu ngoặc đơn. Nói cách khác, đầu vào choto_tsquery
Phải tuân theo kèo bóng đá việt nam quy tắc chung chotsquery
Đầu vào, như được mô tả trongPhần 8.11.2. Sự khác biệt là trong khi cơ kèo bóng đá việt namtsquery
Đầu vào lấy kèo bóng đá việt nam mã thông báo theo mệnh giá,to_tsquery
Bình thường hóa mỗi mã thông báo thành từ vựng bằng cách sử dụng cấu hình được chỉ định hoặc mặc định và loại bỏ bất kỳ mã thông báo nào là kèo bóng đá việt nam từ dừng theo cấu hình. Ví dụ:
Chọn To_TSQuery ('Tiếng Anh', 'The & Fat & Rats');
như trong cơ kèo bóng đá việt namtsquery
Đầu vào, trọng lượng có thể được gắn vào mỗi từ vựng để hạn chế nó chỉ phù hợptsVector
Lexeme của những trọng lượng đó. Ví dụ:
Chọn to_tsquery ('English', 'Fat | Rats: AB');
Ngoài ra,*
Có thể được gắn vào từ vựng để chỉ định khớp tiền tố:
Chọn To_TSQuery ('Supern:*A & Star: A*B');
Một từ vựng như vậy sẽ phù hợp với bất kỳ từ nào trong mộttsVector
bắt đầu bằng chuỗi đã cho.
to_tsquery
cũng có thể chấp nhận kèo bóng đá việt nam cụm từ được trích xuất đơn. Điều này chủ yếu hữu ích khi cấu hình bao gồm từ điển từ điển có thể kích hoạt trên kèo bóng đá việt nam cụm từ đó.Supernovae Stars: SN
:
chọn to_tsquery ('' 'Supernovae Stars' '&! Crab');
Không có báo giá,to_tsquery
sẽ tạo lỗi cú pháp cho kèo bóng đá việt nam mã thông báo không được phân tách bởi một và, hoặc, hoặc theo sau là toán tử.
Plainto_tsquery ([config
Regconfig
, ]Querytext
Text
) Trả vềtsquery
Plainto_tsquery
Chuyển đổi văn kèo bóng đá việt nam không được định dạngQuerytext
đến Atsquery
Giá trị. Văn kèo bóng đá việt nam được phân tích cú pháp và chuẩn hóa nhiều như choTO_TSVECTOR
, sau đó&
(và)tsquery
toán tử được chèn vào giữa kèo bóng đá việt nam từ còn sống.
Ví dụ:
Chọn Plainto_tsquery ('Tiếng Anh', 'Chuột béo');
Lưu ý rằngPlainto_tsquery
sẽ không nhận ratsquery
toán tử, nhãn trọng lượng hoặc nhãn tiền tố-match trong đầu vào của nó:
Chọn Plainto_tsquery ('Tiếng Anh', 'The Fat & Rats: C');
Ở đây, tất cả kèo bóng đá việt nam dấu câu đầu vào đã bị loại bỏ.
PHRASETO_TSQUERY ([config
Regconfig
, ]Querytext
Text
) trả vềtsquery
PHRASETO_TSQUERY
hành xử giống nhưPlainto_tsquery
, ngoại trừ việc nó chèn<-
(tiếp theo là) toán tử giữa kèo bóng đá việt nam từ còn sống thay vì&
(và) toán tử. Ngoài ra, kèo bóng đá việt nam từ dừng không chỉ đơn giản là bị loại bỏ, mà được tính bằng cách chèn<
Người vận hành chứ không phảin
<-
Người vận hành. Chức năng này rất hữu ích khi kèo bóng đá việt nam các chuỗi từ vựng chính xác, vì sau đó là các toán tử kiểm tra thứ tự từ vựng không chỉ sự hiện diện của tất cả các từ vựng.
Ví dụ:
chọn Phraseto_tsquery ('tiếng Anh', 'chuột béo');
nhưPlainto_tsquery
, ThePHRASETO_TSQUERY
Hàm sẽ không nhận ratsquery
toán tử, nhãn trọng lượng hoặc nhãn tiền tố-match trong đầu vào của nó:
chọn Phraseto_tsquery ('English', 'The Fat & Rats: C');
websearch_to_tsquery ([config
Regconfig
, ]Querytext
Text
) Trả vềtsquery
websearch_to_tsquery
Tạo Atsquery
Giá trị từQueryText
Sử dụng cú pháp thay thế trong đó văn kèo bóng đá việt nam không định dạng đơn giản là một truy vấn hợp lệ. Không giống nhưPlainto_tsquery
vàPHRASETO_TSQUERY
, nó cũng nhận ra các toán tử nhất định. Hơn nữa, chức năng này sẽ không bao giờ tăng lỗi cú pháp, điều này cho phép sử dụng đầu vào do người dùng cung cấp thô cho kèo bóng đá việt nam.
văn kèo bóng đá việt nam chưa được trích xuất
&
toán tử, như thể được xử lý bởiPlainto_tsquery
.
"Văn kèo bóng đá việt nam được trích dẫn"
<-
toán tử, như thể được xử lý bởiPHRASETO_TSQUERY
.
hoặc
: từHồihoặcHồisẽ được chuyển đổi thành|
toán tử.
-
: một dấu gạch ngang sẽ được chuyển đổi thành!
toán tử.
dấu câu khác bị bỏ qua. Vì vậy, giống nhưPlainto_tsquery
vàPHRASETO_TSQUERY
, Thewebsearch_to_tsquery
Hàm sẽ không nhận ratsquery
toán tử, nhãn trọng lượng hoặc nhãn tiền tố-match trong đầu vào của nó.
Ví dụ:
25219_26072
Xếp hạng cố gắng đo lường mức độ kèo bóng đá việt nam liên quan đến một truy vấn cụ thể, để có nhiều trận đấu có thể được hiển thị trước tiên.PostgreSQLcung cấp hai chức năng xếp hạng được xác định trước, có tính đến thông tin từ vựng, gần và cấu trúc; Đó là, họ xem xét tần suất các thuật ngữ truy vấn xuất hiện trong kèo bóng đá việt nam, mức độ gần nhau của các điều khoản trong kèo bóng đá việt nam và phần quan trọng của kèo bóng đá việt nam nơi chúng xảy ra.
Hai chức năng xếp hạng hiện có là:
ts_rank ([Trọng lượng
float4 []
,]Vector
tsVector
, Truy vấn
tsquery
[, Bình thường hóa
Số nguyên
]) trả vềfloat4
Xếp hạng vectơ dựa trên tần suất của kèo bóng đá việt nam từ vựng phù hợp của chúng.
TS_RANK_CD ([Trọng lượng
float4 []
,]Vector
tsVector
, Truy vấn
tsquery
[, Bình thường hóa
Số nguyên
]) trả vềfloat4
Hàm này tính toánmật độ bìa28730_28969TS_RANK
Xếp hạng ngoại trừ sự gần gũi của kèo bóng đá việt nam từ vựng phù hợp với nhau được xem xét.
Hàm này yêu cầu thông tin vị trí của Lexeme để thực hiện tính toán của nó. Do đó, nó bỏ qua bất kỳbị tướcKhănLexeme trongtsVector
. Nếu không có từ kèo bóng đá việt nam từ đầu không có trong đầu vào, kết quả sẽ bằng không.Phần 12.4.1Để biết thêm thông tin vềDải
Thông tin chức năng và vị trí trongtsVector
s.)
Đối với cả hai chức năng này, tùy chọnTrọng lượng
Đối số cung cấp khả năng cân nhắc các phiên kèo bóng đá việt nam từ nhiều hoặc ít hơn tùy thuộc vào cách chúng được dán nhãn. Các mảng trọng lượng chỉ định mức độ cân nhắc của từng loại từ, theo thứ tự:
d-weight, c-weight, b-weight, a-weight
nếu khôngTrọng lượng
được cung cấp, sau đó kèo bóng đá việt nam mặc định này được sử dụng:
0.1, 0.2, 0.4, 1.0
30299_30501
Vì một kèo bóng đá việt nam dài hơn có cơ hội chứa một thuật ngữ truy vấn lớn hơn, nên tính đến kích thước kèo bóng đá việt nam tài khoản, ví dụ: một kèo bóng đá việt nam hàng trăm từ với năm trường hợp của một từ tìm kiếm có thể phù hợp hơn một kèo bóng đá việt nam hàng ngàn từ với năm trường hợp. Cả hai hàm xếp hạng đều có số nguyênBình thường hóa
Tùy chọn chỉ định xem độ dài của kèo bóng đá việt nam có ảnh hưởng đến thứ hạng của nó hay không. Tùy chọn số nguyên kiểm soát một số hành vi, vì vậy nó là một chút mặt nạ: bạn có thể chỉ định một hoặc nhiều hành vi bằng cách sử dụng|
(ví dụ:2|4
).
0 (mặc định) bỏ qua độ dài kèo bóng đá việt nam
1 Chia thứ hạng cho 1 + logarit của độ dài kèo bóng đá việt nam
2 Chia thứ hạng cho độ dài kèo bóng đá việt nam
4 Chia thứ hạng cho khoảng cách hài hòa trung bình giữa kèo bóng đá việt nam phạm vi (điều này chỉ được thực hiện bởiTS_RANK_CD
)
8 Chia thứ hạng cho số lượng từ duy nhất trong kèo bóng đá việt nam
16 Chia thứ hạng cho 1 + logarit của số lượng từ duy nhất trong kèo bóng đá việt nam
32 chia thứ hạng cho chính nó + 1
Nếu có nhiều hơn một bit cờ được chỉ định, kèo bóng đá việt nam phép biến đổi được áp dụng trong đơn đặt hàng được liệt kê.
Điều quan trọng cần lưu ý là kèo bóng đá việt nam chức năng xếp hạng không sử dụng bất kỳ thông tin toàn cầu nào, vì vậy không thể tạo ra một sự chuẩn hóa công bằng đến 1% hoặc 100% như đôi khi mong muốn. Tùy chọn chuẩn hóa 32 (Xếp hạng/(Xếp hạng+1)
) có thể được áp dụng để tỷ lệ tất cả các cấp bậc vào phạm vi từ 0 đến một, nhưng tất nhiên đây chỉ là một thay đổi mỹ phẩm; nó sẽ không ảnh hưởng đến thứ tự kết quả kèo bóng đá việt nam.
Đây là một ví dụ chỉ chọn mười trận đấu xếp hạng cao nhất:
Chọn Tiêu đề, TS_RANK_CD (TextSearch, Truy vấn) làm cấp bậc
Đây là ví dụ tương tự bằng cách sử dụng xếp hạng chuẩn hóa:
Chọn Tiêu đề, TS_RANK_CD (TextSearch, Truy vấn, 32/ * Xếp hạng/(Xếp hạng+1) */)
Xếp hạng có thể tốn kém vì nó yêu cầu tư vấnTSVECTOR
của mỗi kèo bóng đá việt nam phù hợp, có thể bị ràng buộc I/O và do đó chậm. Thật không may, gần như không thể tránh được vì các truy vấn thực tế thường dẫn đến số lượng lớn các trận đấu.
Để trình bày kết quả tìm kiếm, thật lý tưởng để hiển thị một phần của mỗi kèo bóng đá việt nam và cách nó liên quan đến truy vấn. Thông thường, các công cụ tìm kiếm hiển thị các đoạn của kèo bóng đá việt nam với các thuật ngữ tìm kiếm được đánh dấu.POSTGRESQLcung cấp chức năngts_headline
thực hiện chức năng này.
ts_headline ([config
RegConfig
, ]Document
Text
,Truy vấn
tsquery
[,Tùy chọn
Text
]) trả vềText
ts_headline
Chấp nhận một kèo bóng đá việt nam cùng với truy vấn và trả về một đoạn trích từ kèo bóng đá việt nam trong đó các điều khoản từ truy vấn được tô sáng. Cấu hình được sử dụng để phân tích cú pháp kèo bóng đá việt nam có thể được chỉ định bởiconfig
; nếu nhưconfig
bị bỏ qua,default_text_search_config
Cấu hình được sử dụng.
NếuTùy chọn
Chuỗi được chỉ định, nó phải bao gồm một danh sách được phân tách bằng dấu phẩy của một hoặc nhiềuTùy chọn
=
giá trị
cặp. kèo bóng đá việt nam tùy chọn có sẵn là:
MaxWords
, minwords
(số nguyên): Những con số này xác định kèo bóng đá việt nam tiêu đề dài nhất và ngắn nhất cho đầu ra. kèo bóng đá việt nam giá trị mặc định là 35 và 15.
Từ ngắn
(Số nguyên): kèo bóng đá việt nam từ có độ dài này hoặc ít hơn sẽ bị loại bỏ khi bắt đầu và kết thúc tiêu đề, trừ khi chúng là thuật ngữ truy vấn. Giá trị mặc định của ba bài viết tiếng Anh thông thường.
Điểm nổi bật
(boolean): nếuTRUE
Toàn bộ kèo bóng đá việt nam sẽ được sử dụng làm tiêu đề, bỏ qua ba tham số trước đó. Mặc định làSai
.
MaxFragments
(Số nguyên): Số lượng các đoạn văn kèo bóng đá việt nam tối đa để hiển thị. Giá trị mặc định của Zero chọn phương thức tạo tiêu đề không dựa trên fragment.
startsel
, stopsel
(chuỗi): Các chuỗi để phân định các từ truy vấn xuất hiện trong kèo bóng đá việt nam, để phân biệt chúng với các từ được trích xuất khác. Các giá trị mặc định là<b
và</b
, có thể phù hợp cho đầu ra HTML.
FragmentDelImiter
(chuỗi): Khi có nhiều hơn một đoạn được hiển thị, kèo bóng đá việt nam đoạn sẽ được phân tách bằng chuỗi này. Mặc định là...
”.
Những tên tùy chọn này được nhận ra không nhạy cảm với trường hợp. Bạn phải xử lý hai giá trị chuỗi nếu chúng chứa khoảng trắng hoặc dấu phẩy.
trong việc tạo tiêu đề không dựa trên fragment,ts_headline
định vị kèo bóng đá việt nam khớp cho đã choTruy vấn
và chọn một cái duy nhất để hiển thị, thích kèo bóng đá việt nam trận đấu có nhiều từ truy vấn hơn trong độ dài tiêu đề được phép. Trong việc tạo tiêu đề dựa trên đoạn,ts_headline
định vị kèo bóng đá việt nam truy vấn phù hợp và chia mỗi trận đấu thànhkèo bóng đá việt nam đoạnHồicủa không nhiều hơnMaxWords
mỗi từ, thích kèo bóng đá việt nam đoạn có nhiều từ truy vấn hơn và khi có thểkéo dàiHồicác đoạn để bao gồm các từ xung quanh. Do đó, chế độ dựa trên đoạn hữu ích hơn khi truy vấn khớp với các phần lớn của kèo bóng đá việt nam hoặc khi mong muốn hiển thị nhiều trận đấu.minwords
Các từ trong kèo bóng đá việt nam sẽ được hiển thị.
Ví dụ:
Chọn TS_HEADLINE ('Tiếng Anh',
ts_headline
Sử dụng kèo bóng đá việt nam gốc, không phảitsVector
Tóm tắt, vì vậy nó có thể chậm và nên được sử dụng một cách cẩn thận.
Nếu bạn thấy bất cứ điều gì trong kèo bóng đá việt nam không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề kèo bóng đá việt nam.