null+****@clear*****
null+****@clear*****
2011年 8月 14日 (日) 23:18:50 JST
Kouhei Sutou 2011-08-14 14:18:50 +0000 (Sun, 14 Aug 2011) New Revision: e9de327571a8b5ff96fb6262a79a7a0d97fc9f8c Log: [suggest][correct] add '1' score for similar search. Modified files: plugins/suggest/suggest.c test/unit/story/test-rurema.c Modified: plugins/suggest/suggest.c (+2 -1) =================================================================== --- plugins/suggest/suggest.c 2011-08-14 13:56:34 +0000 (ff66788) +++ plugins/suggest/suggest.c 2011-08-14 14:18:50 +0000 (c14dee8) @@ -324,7 +324,8 @@ correct(grn_ctx *ctx, grn_obj *items, grn_obj *items_boost, if (GRN_INT32_VALUE(&item_boost) >= 0) { int32_t score; grn_rset_recinfo *ri; - score = (GRN_INT32_VALUE(&item_freq2) >> 4) + + score = 1 + + (GRN_INT32_VALUE(&item_freq2) >> 4) + GRN_INT32_VALUE(&item_boost); ri = value; ri->score += score; Modified: test/unit/story/test-rurema.c (+19 -0) =================================================================== --- test/unit/story/test-rurema.c 2011-08-14 13:56:34 +0000 (dd39aff) +++ test/unit/story/test-rurema.c 2011-08-14 14:18:50 +0000 (84af3ec) @@ -31,6 +31,7 @@ void test_complete_prefix_search(gconstpointer data); void test_complete_prefix_search_threshold_found(void); void test_complete_prefix_search_threshold_not_found(void); void test_correct_cooccurrence(void); +void test_correct_similar(void); void test_suggest_cooccurrence(void); static gchar *tmp_directory; @@ -282,6 +283,24 @@ test_correct_coocurrence(void) } void +test_correct_similar(void) +{ + cut_assert_equal_string( + "{\"correct\":" + "[[1]," + "[[\"_key\",\"ShortText\"]," + "[\"_score\",\"Int32\"]]," + "[\"file.join\",1048573]]}", + send_command( + "suggest " + "--table item_rurema " + "--column kana " + "--types correct " + "--threshold 1 " + "--query 'join'")); +} + +void test_suggest_coocurrence(void) { cut_assert_equal_string(