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(