Navigation Menu

Skip to content

Commit

Permalink
select: add drilldowns[LABEL].adjuster
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Feb 1, 2018
1 parent 47d79c1 commit e21d1e2
Show file tree
Hide file tree
Showing 4 changed files with 274 additions and 0 deletions.
90 changes: 90 additions & 0 deletions test/command/suite/select/drilldowns/adjuster/filter.expected
@@ -0,0 +1,90 @@
table_create Categories TABLE_PAT_KEY ShortText
[[0,0.0,0.0],true]
table_create Tags TABLE_PAT_KEY ShortText
[[0,0.0,0.0],true]
column_create Tags categories COLUMN_VECTOR|WITH_WEIGHT Categories
[[0,0.0,0.0],true]
table_create Memos TABLE_HASH_KEY ShortText
[[0,0.0,0.0],true]
column_create Memos tags COLUMN_VECTOR Tags
[[0,0.0,0.0],true]
column_create Categories tags_categories COLUMN_INDEX|WITH_WEIGHT Tags categories
[[0,0.0,0.0],true]
load --table Tags
[
{"_key": "groonga", "categories": {"full-text-search": 100}},
{"_key": "mroonga", "categories": {"mysql": 100, "full-text-search": 80}},
{"_key": "ruby", "categories": {"language": 100}}
]
[[0,0.0,0.0],3]
load --table Memos
[
{
"_key": "Groonga is fast",
"tags": ["groonga"]
},
{
"_key": "Mroonga is also fast",
"tags": ["mroonga", "groonga"]
},
{
"_key": "Ruby is an object oriented script language",
"tags": ["ruby"]
}
]
[[0,0.0,0.0],3]
select Memos --limit 0 --output_columns _id --drilldowns[groonga_tag].keys tags --drilldowns[groonga_tag].filter '_key == "groonga"' --drilldowns[groonga_tag].adjuster 'categories @ "full-text-search" * 2 + categories @ "mysql"' --drilldowns[groonga_tag].output_columns _key,_nsubrecs,_score
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
]
]
],
{
"groonga_tag": [
[
1
],
[
[
"_key",
"ShortText"
],
[
"_nsubrecs",
"Int32"
],
[
"_score",
"Int32"
]
],
[
"groonga",
2,
204
]
]
}
]
]
#>select --drilldowns[groonga_tag].adjuster "categories @ \"full-text-search\" * 2 + categories @ \"mysql\"" --drilldowns[groonga_tag].filter "_key == \"groonga\"" --drilldowns[groonga_tag].keys "tags" --drilldowns[groonga_tag].output_columns "_key,_nsubrecs,_score" --limit "0" --output_columns "_id" --table "Memos"
#:000000000000000 select(3)
#:000000000000000 filter(1)
#:000000000000000 drilldowns[groonga_tag].adjust(1)
#:000000000000000 drilldowns[groonga_tag](1)
#:000000000000000 output(0)
#:000000000000000 output.drilldowns[groonga_tag](1)
#<000000000000000 rc=0
43 changes: 43 additions & 0 deletions test/command/suite/select/drilldowns/adjuster/filter.test
@@ -0,0 +1,43 @@
table_create Categories TABLE_PAT_KEY ShortText

table_create Tags TABLE_PAT_KEY ShortText
column_create Tags categories COLUMN_VECTOR|WITH_WEIGHT Categories

table_create Memos TABLE_HASH_KEY ShortText
column_create Memos tags COLUMN_VECTOR Tags

column_create Categories tags_categories COLUMN_INDEX|WITH_WEIGHT \
Tags categories

load --table Tags
[
{"_key": "groonga", "categories": {"full-text-search": 100}},
{"_key": "mroonga", "categories": {"mysql": 100, "full-text-search": 80}},
{"_key": "ruby", "categories": {"language": 100}}
]

load --table Memos
[
{
"_key": "Groonga is fast",
"tags": ["groonga"]
},
{
"_key": "Mroonga is also fast",
"tags": ["mroonga", "groonga"]
},
{
"_key": "Ruby is an object oriented script language",
"tags": ["ruby"]
}
]

#@collect-query-log true
select Memos \
--limit 0 \
--output_columns _id \
--drilldowns[groonga_tag].keys tags \
--drilldowns[groonga_tag].filter '_key == "groonga"' \
--drilldowns[groonga_tag].adjuster 'categories @ "full-text-search" * 2 + categories @ "mysql"' \
--drilldowns[groonga_tag].output_columns _key,_nsubrecs,_score
#@collect-query-log false
99 changes: 99 additions & 0 deletions test/command/suite/select/drilldowns/adjuster/no_filter.expected
@@ -0,0 +1,99 @@
table_create Categories TABLE_PAT_KEY ShortText
[[0,0.0,0.0],true]
table_create Tags TABLE_PAT_KEY ShortText
[[0,0.0,0.0],true]
column_create Tags categories COLUMN_VECTOR|WITH_WEIGHT Categories
[[0,0.0,0.0],true]
table_create Memos TABLE_HASH_KEY ShortText
[[0,0.0,0.0],true]
column_create Memos tags COLUMN_VECTOR Tags
[[0,0.0,0.0],true]
column_create Categories tags_categories COLUMN_INDEX|WITH_WEIGHT Tags categories
[[0,0.0,0.0],true]
load --table Tags
[
{"_key": "groonga", "categories": {"full-text-search": 100}},
{"_key": "mroonga", "categories": {"mysql": 100, "full-text-search": 80}},
{"_key": "ruby", "categories": {"language": 100}}
]
[[0,0.0,0.0],3]
load --table Memos
[
{
"_key": "Groonga is fast",
"tags": ["groonga"]
},
{
"_key": "Mroonga is also fast",
"tags": ["mroonga", "groonga"]
},
{
"_key": "Ruby is an object oriented script language",
"tags": ["ruby"]
}
]
[[0,0.0,0.0],3]
select Memos --limit 0 --output_columns _id --drilldowns[tags].keys tags --drilldowns[tags].adjuster 'categories @ "full-text-search" * 2 + categories @ "mysql"' --drilldowns[tags].output_columns _key,_nsubrecs,_score
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
]
]
],
{
"tags": [
[
3
],
[
[
"_key",
"ShortText"
],
[
"_nsubrecs",
"Int32"
],
[
"_score",
"Int32"
]
],
[
"groonga",
2,
203
],
[
"mroonga",
1,
265
],
[
"ruby",
1,
0
]
]
}
]
]
#>select --drilldowns[tags].adjuster "categories @ \"full-text-search\" * 2 + categories @ \"mysql\"" --drilldowns[tags].keys "tags" --drilldowns[tags].output_columns "_key,_nsubrecs,_score" --limit "0" --output_columns "_id" --table "Memos"
#:000000000000000 select(3)
#:000000000000000 drilldowns[tags].adjust(3)
#:000000000000000 drilldowns[tags](3)
#:000000000000000 output(0)
#:000000000000000 output.drilldowns[tags](3)
#<000000000000000 rc=0
42 changes: 42 additions & 0 deletions test/command/suite/select/drilldowns/adjuster/no_filter.test
@@ -0,0 +1,42 @@
table_create Categories TABLE_PAT_KEY ShortText

table_create Tags TABLE_PAT_KEY ShortText
column_create Tags categories COLUMN_VECTOR|WITH_WEIGHT Categories

table_create Memos TABLE_HASH_KEY ShortText
column_create Memos tags COLUMN_VECTOR Tags

column_create Categories tags_categories COLUMN_INDEX|WITH_WEIGHT \
Tags categories

load --table Tags
[
{"_key": "groonga", "categories": {"full-text-search": 100}},
{"_key": "mroonga", "categories": {"mysql": 100, "full-text-search": 80}},
{"_key": "ruby", "categories": {"language": 100}}
]

load --table Memos
[
{
"_key": "Groonga is fast",
"tags": ["groonga"]
},
{
"_key": "Mroonga is also fast",
"tags": ["mroonga", "groonga"]
},
{
"_key": "Ruby is an object oriented script language",
"tags": ["ruby"]
}
]

#@collect-query-log true
select Memos \
--limit 0 \
--output_columns _id \
--drilldowns[tags].keys tags \
--drilldowns[tags].adjuster 'categories @ "full-text-search" * 2 + categories @ "mysql"' \
--drilldowns[tags].output_columns _key,_nsubrecs,_score
#@collect-query-log false

0 comments on commit e21d1e2

Please sign in to comment.