Skip to content

Commit f077d56

Browse files
committed
add pgroonga tests
1 parent 3c208ac commit f077d56

File tree

2 files changed

+91
-0
lines changed

2 files changed

+91
-0
lines changed

nix/tests/expected/pgroonga.out

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
create schema v;
2+
create table v.roon(
3+
id serial primary key,
4+
content text
5+
);
6+
select
7+
pgroonga_command('tokenizer_list');
8+
pgroonga_command
9+
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
10+
[[0,1724272792.453287,7.319450378417969e-05],[{"name":"TokenDelimit"},{"name":"TokenUnigram"},{"name":"TokenBigram"},{"name":"TokenTrigram"},{"name":"TokenBigramSplitSymbol"},{"name":"TokenBigramSplitSymbolAlpha"},{"name":"TokenBigramSplitSymbolAlphaDigit"},{"name":"TokenBigramIgnoreBlank"},{"name":"TokenBigramIgnoreBlankSplitSymbol"},{"name":"TokenBigramIgnoreBlankSplitSymbolAlpha"},{"name":"TokenBigramIgnoreBlankSplitSymbolAlphaDigit"},{"name":"TokenDelimitNull"},{"name":"TokenRegexp"},{"name":"TokenNgram"},{"name":"TokenPattern"},{"name":"TokenTable"},{"name":"TokenDocumentVectorTFIDF"},{"name":"TokenDocumentVectorBM25"}]]
11+
(1 row)
12+
13+
insert into v.roon (content)
14+
values
15+
('Hello World'),
16+
('PostgreSQL with PGroonga is a thing'),
17+
('This is a full-text search test'),
18+
('PGroonga supports various languages');
19+
-- Create default index
20+
create index pgroonga_index on v.roon using pgroonga (content);
21+
-- Create mecab tokenizer index since we had a bug with this one once
22+
create index pgroonga_index on v.roon using pgroonga (content) with (tokenizer='TokenMecab');
23+
ERROR: pgroonga: [option][tokenizer][validate] invalid tokenizer: <TokenMecab>: [info][set][default-tokenizer][(anonymous)] unknown tokenizer: <TokenMecab>
24+
-- Run some queries to test the index
25+
select * from v.roon where content &@~ 'Hello';
26+
id | content
27+
----+-------------
28+
1 | Hello World
29+
(1 row)
30+
31+
select * from v.roon where content &@~ 'powerful';
32+
id | content
33+
----+---------
34+
(0 rows)
35+
36+
select * from v.roon where content &@~ 'supports';
37+
id | content
38+
----+-------------------------------------
39+
4 | PGroonga supports various languages
40+
(1 row)
41+
42+
drop schema v cascade;
43+
NOTICE: drop cascades to table v.roon

nix/tests/sql/pgroonga.sql

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
create schema v;
2+
3+
create table v.roon(
4+
id serial primary key,
5+
content text
6+
);
7+
8+
9+
with tokenizers as (
10+
select
11+
x
12+
from
13+
jsonb_array_elements(
14+
(select pgroonga_command('tokenizer_list'))::jsonb
15+
) x(val)
16+
limit
17+
1
18+
offset
19+
1 -- first record is unrelated and not stable
20+
)
21+
select
22+
t.x::jsonb ->> 'name'
23+
from
24+
jsonb_array_elements((select * from tokenizers)) t(x)
25+
order by
26+
t.x::jsonb ->> 'name';
27+
28+
29+
insert into v.roon (content)
30+
values
31+
('Hello World'),
32+
('PostgreSQL with PGroonga is a thing'),
33+
('This is a full-text search test'),
34+
('PGroonga supports various languages');
35+
36+
-- Create default index
37+
create index pgroonga_index on v.roon using pgroonga (content);
38+
39+
-- Create mecab tokenizer index since we had a bug with this one once
40+
create index pgroonga_index on v.roon using pgroonga (content) with (tokenizer='TokenMecab');
41+
42+
-- Run some queries to test the index
43+
select * from v.roon where content &@~ 'Hello';
44+
select * from v.roon where content &@~ 'powerful';
45+
select * from v.roon where content &@~ 'supports';
46+
47+
48+
drop schema v cascade;

0 commit comments

Comments
 (0)