OSDN Git Service

Switch CI from Travis CI to GitHub Actions (#12)
[pgbigm/pg_bigm.git] / sql / pg_bigm_ja.sql
1 CREATE EXTENSION pg_bigm;
2
3 \pset null '(null)'
4
5 SET standard_conforming_strings = on;
6 SET escape_string_warning = off;
7 SET enable_seqscan = off;
8 SET pg_bigm.enable_recheck = on;
9 SET pg_bigm.gin_key_limit = 0;
10 SET pg_bigm.similarity_limit = 0.02;
11
12 -- reduce noise
13 SET extra_float_digits TO 0;
14
15 -- tests for likequery
16 SELECT likequery('ポスグレの全文検索');
17 SELECT likequery('pg_bigmは検索性能を200%向上させました');
18
19 -- tests for show_bigm
20 SELECT show_bigm('木');
21 SELECT show_bigm('検索');
22 SELECT show_bigm('インデックスを作成');
23 SELECT show_bigm('pg_bigmは検索性能を200%向上させました');
24
25 -- tests for creation of full-text search index
26 CREATE INDEX test_bigm_idx ON test_bigm USING gin (col1 gin_bigm_ops);
27
28 \copy test_bigm(col1) from 'data/bigm_ja.csv' with csv
29
30 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('値');
31 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('最大');
32 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('ツール');
33 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('全文検索');
34
35 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('値');
36 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('最大');
37 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('ツール');
38 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('インデックスを作成');
39 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('3-gramの全文検索');
40
41 -- check that the search results don't change if enable_recheck is disabled
42 -- in order to check that index full search is NOT executed
43 SET pg_bigm.enable_recheck = off;
44 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('値');
45 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery ('最大');
46 SET pg_bigm.enable_recheck = on;
47
48 SELECT col1 FROM test_bigm WHERE col1 LIKE '%最大%';
49
50 -- tests for pg_bigm.enable_recheck
51 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery('東京都');
52 SET pg_bigm.enable_recheck = off;
53 SELECT col1 FROM test_bigm WHERE col1 LIKE likequery('東京都');
54
55 SELECT bigm_similarity('東京都', ' 東京都 ');
56 SELECT bigm_similarity('東京都', '東京と京都');
57 SELECT bigm_similarity('東京と京都', '東京都');
58 SET pg_bigm.enable_recheck = on;
59
60 -- tests for text similarity search
61 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 =% '値';
62 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 =% '最大';
63 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 =% 'ツール';
64 EXPLAIN (COSTS off) SELECT col1 FROM test_bigm WHERE col1 =% '全文検索';
65
66 SELECT count(*), min(bigm_similarity(col1, '値')) FROM test_bigm WHERE col1 =% '値';
67 SELECT count(*), max(bigm_similarity(col1, '値')) FROM test_bigm WHERE NOT col1 =% '値';
68 SELECT count(*), min(bigm_similarity(col1, '最大')) FROM test_bigm WHERE col1 =% '最大';
69 SELECT count(*), max(bigm_similarity(col1, '最大')) FROM test_bigm WHERE NOT col1 =% '最大';
70 SELECT count(*), min(bigm_similarity(col1, 'ツール')) FROM test_bigm WHERE col1 =% 'ツール';
71 SELECT count(*), max(bigm_similarity(col1, 'ツール')) FROM test_bigm WHERE NOT col1 =% 'ツール';
72 SELECT count(*), min(bigm_similarity(col1, 'インデックスを作成')) FROM test_bigm WHERE col1 =% 'インデックスを作成';
73 SELECT count(*), max(bigm_similarity(col1, 'インデックスを作成')) FROM test_bigm WHERE NOT col1 =% 'インデックスを作成';
74 SELECT count(*), min(bigm_similarity(col1, '3-gramの全文検索')) FROM test_bigm WHERE col1 =% '3-gramの全文検索';
75 SELECT count(*), max(bigm_similarity(col1, '3-gramの全文検索')) FROM test_bigm WHERE NOT col1 =% '3-gramの全文検索';