- Notifications
You must be signed in to change notification settings - Fork 59
/
Copy pathrum_weight.sql
44 lines (36 loc) · 2.68 KB
/
rum_weight.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
CREATETABLEtestweight_rum( t text, a tsvector, r text );
CREATEFUNCTIONfill_weight_trigger() RETURNS trigger AS $$
begin
new.a :=
setweight(to_tsvector('pg_catalog.english', coalesce(new.r,'')), 'A') ||
setweight(to_tsvector('pg_catalog.english', coalesce(new.t,'')), 'D');
return new;
end
$$ LANGUAGE plpgsql;
CREATETRIGGERtsvectorweightupdate
BEFORE INSERT ORUPDATEON testweight_rum
FOR EACH ROW EXECUTE PROCEDURE fill_weight_trigger();
CREATEINDEXrumidx_weightON testweight_rum USING rum (a rum_tsvector_ops);
\copy testweight_rum(t,r) from'data/rum_weight.data' DELIMITER '|' ;
SET enable_seqscan=off;
SET enable_indexscan=off;
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'ever:A|wrote');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'have:A&wish:DAC');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'have:A&wish:DAC');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'among:ABC');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'structure:D&ancient:BCD');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', '(complimentary:DC|sight)&(sending:ABC|heart)');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', '!gave:D & way');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', '(go<->go:a)&(think:d<->go)');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', '(go<->go:a)&(think:d<2>go)');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'go & (!reach:a | way<->reach)');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'go & (!reach:a & way<->reach)');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'reach:d & go & !way:a');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'show:d & seem & !town:a');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', '!way:a');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'go & !way:a');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'reach:d & !way:a');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'reach:d & go');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'think<->go:d | go<->see');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'reach:d<->think');
SELECTcount(*) FROM testweight_rum WHERE a @@ to_tsquery('pg_catalog.english', 'reach<->think');