Navigation Menu

Skip to content

Commit

Permalink
Fix a bug that 'index[0]' only match_columns doesn't use section ID
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Jan 19, 2015
1 parent d7a5b0b commit 1926ac9
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/expr.c
Expand Up @@ -4641,7 +4641,7 @@ scan_info_build_find_index_column_index(grn_ctx *ctx,
int32_t weight = 0;

index = ec->value;
if (n_rest_codes > 2 &&
if (n_rest_codes >= 2 &&
ec[1].value &&
(ec[1].value->header.domain == GRN_DB_INT32 ||
ec[1].value->header.domain == GRN_DB_UINT32) &&
Expand All @@ -4652,9 +4652,9 @@ scan_info_build_find_index_column_index(grn_ctx *ctx,
sid = GRN_UINT32_VALUE(ec[1].value) + 1;
}
offset = 2;
}
if ((n_rest_codes - offset) >= 1) {
weight = get_weight(ctx, ec + offset);
} else {
weight = get_weight(ctx, ec);
}
scan_info_put_index(ctx, si, index, sid, weight);

Expand Down
@@ -0,0 +1,54 @@
table_create Memos TABLE_NO_KEY
[[0,0.0,0.0],true]
column_create Memos title COLUMN_SCALAR ShortText
[[0,0.0,0.0],true]
column_create Memos content COLUMN_SCALAR ShortText
[[0,0.0,0.0],true]
table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram
[[0,0.0,0.0],true]
column_create Lexicon memo_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title,content
[[0,0.0,0.0],true]
load --table Memos
[
["title", "content"],
["groonga", "Start groonga!"],
["mroonga", "Start mroonga!"],
["rroonga", "Start rroonga!"],
["Ruby", "Start Ruby!"],
["learn", "Learning Ruby and groonga..."]
]
[[0,0.0,0.0],5]
select Memos --match_columns "Lexicon.memo_index[0]" --query Ruby --output_columns "title, content, _score"
[
[
0,
0.0,
0.0
],
[
[
[
1
],
[
[
"title",
"ShortText"
],
[
"content",
"ShortText"
],
[
"_score",
"Int32"
]
],
[
"Ruby",
"Start Ruby!",
1
]
]
]
]
@@ -0,0 +1,22 @@
table_create Memos TABLE_NO_KEY
column_create Memos title COLUMN_SCALAR ShortText
column_create Memos content COLUMN_SCALAR ShortText

table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram
column_create Lexicon memo_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION \
Memos title,content

load --table Memos
[
["title", "content"],
["groonga", "Start groonga!"],
["mroonga", "Start mroonga!"],
["rroonga", "Start rroonga!"],
["Ruby", "Start Ruby!"],
["learn", "Learning Ruby and groonga..."]
]

select Memos \
--match_columns "Lexicon.memo_index[0]" \
--query Ruby \
--output_columns "title, content, _score"

0 comments on commit 1926ac9

Please sign in to comment.