📄 tsearch2.sql
字号:
LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION to_tsvector(text)RETURNS tsvectorAS '$libdir/tsearch2', 'to_tsvector_current'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION strip(tsvector)RETURNS tsvectorAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION setweight(tsvector,"char")RETURNS tsvectorAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION concat(tsvector,tsvector)RETURNS tsvectorAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR || ( LEFTARG = tsvector, RIGHTARG = tsvector, PROCEDURE = concat);--query typeCREATE FUNCTION tsquery_in(cstring)RETURNS tsqueryAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION tsquery_out(tsquery)RETURNS cstringAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE TYPE tsquery ( INTERNALLENGTH = -1, ALIGNMENT = int4, INPUT = tsquery_in, OUTPUT = tsquery_out);CREATE FUNCTION querytree(tsquery)RETURNS textAS '$libdir/tsearch2', 'tsquerytree'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION to_tsquery(oid, text)RETURNS tsqueryAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION to_tsquery(text, text)RETURNS tsqueryAS '$libdir/tsearch2','to_tsquery_name'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION to_tsquery(text)RETURNS tsqueryAS '$libdir/tsearch2','to_tsquery_current'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION plainto_tsquery(oid, text)RETURNS tsqueryAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION plainto_tsquery(text, text)RETURNS tsqueryAS '$libdir/tsearch2','plainto_tsquery_name'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION plainto_tsquery(text)RETURNS tsqueryAS '$libdir/tsearch2','plainto_tsquery_current'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;--operationsCREATE FUNCTION exectsq(tsvector, tsquery)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE; COMMENT ON FUNCTION exectsq(tsvector, tsquery) IS 'boolean operation with text index';CREATE FUNCTION rexectsq(tsquery, tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;COMMENT ON FUNCTION rexectsq(tsquery, tsvector) IS 'boolean operation with text index';CREATE OPERATOR @@ ( LEFTARG = tsvector, RIGHTARG = tsquery, PROCEDURE = exectsq, COMMUTATOR = '@@', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR @@ ( LEFTARG = tsquery, RIGHTARG = tsvector, PROCEDURE = rexectsq, COMMUTATOR = '@@', RESTRICT = contsel, JOIN = contjoinsel);--TriggerCREATE FUNCTION tsearch2()RETURNS triggerAS '$libdir/tsearch2'LANGUAGE C;--RelevationCREATE FUNCTION rank(float4[], tsvector, tsquery)RETURNS float4AS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank(float4[], tsvector, tsquery, int4)RETURNS float4AS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank(tsvector, tsquery)RETURNS float4AS '$libdir/tsearch2', 'rank_def'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank(tsvector, tsquery, int4)RETURNS float4AS '$libdir/tsearch2', 'rank_def'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank_cd(float4[], tsvector, tsquery)RETURNS float4AS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank_cd(float4[], tsvector, tsquery, int4)RETURNS float4AS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank_cd(tsvector, tsquery)RETURNS float4AS '$libdir/tsearch2', 'rank_cd_def'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION rank_cd(tsvector, tsquery, int4)RETURNS float4AS '$libdir/tsearch2', 'rank_cd_def'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION headline(oid, text, tsquery, text)RETURNS textAS '$libdir/tsearch2', 'headline'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION headline(oid, text, tsquery)RETURNS textAS '$libdir/tsearch2', 'headline'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION headline(text, text, tsquery, text)RETURNS textAS '$libdir/tsearch2', 'headline_byname'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION headline(text, text, tsquery)RETURNS textAS '$libdir/tsearch2', 'headline_byname'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION headline(text, tsquery, text)RETURNS textAS '$libdir/tsearch2', 'headline_current'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION headline(text, tsquery)RETURNS textAS '$libdir/tsearch2', 'headline_current'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;--GiST--GiST key type CREATE FUNCTION gtsvector_in(cstring)RETURNS gtsvectorAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION gtsvector_out(gtsvector)RETURNS cstringAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE TYPE gtsvector ( INTERNALLENGTH = -1, INPUT = gtsvector_in, OUTPUT = gtsvector_out);-- support FUNCTIONsCREATE FUNCTION gtsvector_consistent(gtsvector,internal,int4)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C; CREATE FUNCTION gtsvector_compress(internal)RETURNS internalAS '$libdir/tsearch2'LANGUAGE C;CREATE FUNCTION gtsvector_decompress(internal)RETURNS internalAS '$libdir/tsearch2'LANGUAGE C;CREATE FUNCTION gtsvector_penalty(internal,internal,internal)RETURNS internalAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION gtsvector_picksplit(internal, internal)RETURNS internalAS '$libdir/tsearch2'LANGUAGE C;CREATE FUNCTION gtsvector_union(internal, internal)RETURNS _int4AS '$libdir/tsearch2'LANGUAGE C;CREATE FUNCTION gtsvector_same(gtsvector, gtsvector, internal)RETURNS internalAS '$libdir/tsearch2'LANGUAGE C;-- CREATE the OPERATOR classCREATE OPERATOR CLASS gist_tsvector_opsDEFAULT FOR TYPE tsvector USING gistAS OPERATOR 1 @@ (tsvector, tsquery) RECHECK , FUNCTION 1 gtsvector_consistent (gtsvector, internal, int4), FUNCTION 2 gtsvector_union (internal, internal), FUNCTION 3 gtsvector_compress (internal), FUNCTION 4 gtsvector_decompress (internal), FUNCTION 5 gtsvector_penalty (internal, internal, internal), FUNCTION 6 gtsvector_picksplit (internal, internal), FUNCTION 7 gtsvector_same (gtsvector, gtsvector, internal), STORAGE gtsvector;--stat infoCREATE TYPE statinfo as (word text, ndoc int4, nentry int4);--CREATE FUNCTION tsstat_in(cstring)--RETURNS tsstat--AS '$libdir/tsearch2'--LANGUAGE C RETURNS NULL ON NULL INPUT;----CREATE FUNCTION tsstat_out(tsstat)--RETURNS cstring--AS '$libdir/tsearch2'--LANGUAGE C RETURNS NULL ON NULL INPUT;----CREATE TYPE tsstat (-- INTERNALLENGTH = -1,-- INPUT = tsstat_in,-- OUTPUT = tsstat_out,-- STORAGE = plain--);----CREATE FUNCTION ts_accum(tsstat,tsvector)--RETURNS tsstat--AS '$libdir/tsearch2'--LANGUAGE C RETURNS NULL ON NULL INPUT;----CREATE FUNCTION ts_accum_finish(tsstat)-- RETURNS setof statinfo-- as '$libdir/tsearch2'-- LANGUAGE C-- RETURNS NULL ON NULL INPUT;----CREATE AGGREGATE stat (-- BASETYPE=tsvector,-- SFUNC=ts_accum,-- STYPE=tsstat,-- FINALFUNC = ts_accum_finish,-- initcond = ''--); CREATE FUNCTION stat(text) RETURNS setof statinfo as '$libdir/tsearch2', 'ts_stat' LANGUAGE C RETURNS NULL ON NULL INPUT;CREATE FUNCTION stat(text,text) RETURNS setof statinfo as '$libdir/tsearch2', 'ts_stat' LANGUAGE C RETURNS NULL ON NULL INPUT;--reset - just for debugingCREATE FUNCTION reset_tsearch() RETURNS void as '$libdir/tsearch2' LANGUAGE C RETURNS NULL ON NULL INPUT;--get cover (debug for rank_cd)CREATE FUNCTION get_covers(tsvector,tsquery) RETURNS text as '$libdir/tsearch2' LANGUAGE C RETURNS NULL ON NULL INPUT;--debug functioncreate type tsdebug as ( ts_name text, tok_type text, description text, token text, dict_name text[], "tsvector" tsvector);CREATE FUNCTION _get_parser_from_curcfg() RETURNS text as ' select prs_name from pg_ts_cfg where oid = show_curcfg() 'LANGUAGE SQL RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION ts_debug(text)RETURNS setof tsdebug as 'select m.ts_name, t.alias as tok_type, t.descr as description, p.token, m.dict_name, strip(to_tsvector(p.token)) as tsvectorfrom parse( _get_parser_from_curcfg(), $1 ) as p, token_type() as t, pg_ts_cfgmap as m, pg_ts_cfg as cwhere t.tokid=p.tokid and t.alias = m.tok_alias and m.ts_name=c.ts_name and c.oid=show_curcfg() ' LANGUAGE SQL RETURNS NULL ON NULL INPUT;--compare functionsCREATE FUNCTION tsvector_cmp(tsvector,tsvector)RETURNS int4AS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION tsvector_lt(tsvector,tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION tsvector_le(tsvector,tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE; CREATE FUNCTION tsvector_eq(tsvector,tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION tsvector_ge(tsvector,tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE; CREATE FUNCTION tsvector_gt(tsvector,tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE FUNCTION tsvector_ne(tsvector,tsvector)RETURNS boolAS '$libdir/tsearch2'LANGUAGE C RETURNS NULL ON NULL INPUT IMMUTABLE;CREATE OPERATOR < ( LEFTARG = tsvector, RIGHTARG = tsvector, PROCEDURE = tsvector_lt, COMMUTATOR = '>', NEGATOR = '>=', RESTRICT = contsel, JOIN = contjoinsel);CREATE OPERATOR <= ( LEFTARG = tsvector, RIGHTARG = tsvector, PROCEDURE = tsvector_le, COMMUTATOR = '>=', NEGATOR = '>', RESTRICT = contsel, JOIN = contjoinsel
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -