blob: b86c6b2965e973e3b5de685921ad146be079641d [file] [log] [blame]
alexander.behmc576c602012-07-06 02:41:15 +00001/*
2 * Description : Tests whether an ngram_index is applied to optimize a selection query using the similarity-jaccard-check function on 3-gram tokens.
3 * Tests that the optimizer rule correctly drills through the let clauses.
4 * The index should be applied.
5 * Success : Yes
6 */
7
8drop dataverse test if exists;
9create dataverse test;
10use dataverse test;
11
12create type DBLPType as closed {
13 id: int32,
14 dblpid: string,
15 title: string,
16 authors: string,
17 misc: string
18}
19
ramangrover29669d8f62013-02-11 06:03:32 +000020create dataset DBLP(DBLPType) primary key id;
alexander.behmc576c602012-07-06 02:41:15 +000021
alexander.behmc576c602012-07-06 02:41:15 +000022create index ngram_index on DBLP(title) type ngram(3);
23
24write output to nc1:"rttest/inverted-index-complex_ngram-jaccard-check-multi-let.adm";
25
26// This test is complex because we have three assigns to drill into.
27for $paper in dataset('DBLP')
28let $paper_tokens := gram-tokens($paper.title, 3, false)
29let $query_tokens := gram-tokens("Transactions for Cooperative Environments", 3, false)
30let $jacc := similarity-jaccard-check($paper_tokens, $query_tokens, 0.5f)
31where $jacc[0]
32return {"Paper": $paper_tokens, "Query": $query_tokens }