[Groonga-commit] groonga/groonga [master] add a test for sorting with index.

アーカイブの一覧に戻る

null+****@clear***** null+****@clear*****
2010年 8月 5日 (木) 12:27:32 JST


Kouhei Sutou	2010-08-05 03:27:32 +0000 (Thu, 05 Aug 2010)

  New Revision: 6b3392c6e6f7fc16bb26f2a5a10814f27a9f1130

  Log:
    add a test for sorting with index.

  Modified files:
    test/unit/fixtures/story/taiyaki/ddl.grn
    test/unit/story/taiyaki/test-geo.c

  Modified: test/unit/fixtures/story/taiyaki/ddl.grn (+3 -0)
===================================================================
--- test/unit/fixtures/story/taiyaki/ddl.grn    2010-08-05 03:06:30 +0000 (dac8522)
+++ test/unit/fixtures/story/taiyaki/ddl.grn    2010-08-05 03:27:32 +0000 (78d9d0b)
@@ -1,5 +1,7 @@
 table_create Bigram TABLE_PAT_KEY|KEY_NORMALIZE ShortText --default_tokenizer TokenBigram
 
+table_create Locations TABLE_PAT_KEY WGS84GeoPoint
+
 table_create Tags TABLE_PAT_KEY ShortText
 column_create Tags name COLUMN_SCALAR ShortText
 
@@ -19,4 +21,5 @@ column_create Shops categories COLUMN_VECTOR Categories
 column_create Shops area COLUMN_SCALAR Areas
 
 column_create Tags index COLUMN_INDEX Shops tags
+column_create Locations shop COLUMN_INDEX Shops location
 column_create Bigram name COLUMN_INDEX|WITH_POSITION|WITH_SECTION Shops name

  Modified: test/unit/story/taiyaki/test-geo.c (+31 -0)
===================================================================
--- test/unit/story/taiyaki/test-geo.c    2010-08-05 03:06:30 +0000 (196cf76)
+++ test/unit/story/taiyaki/test-geo.c    2010-08-05 03:27:32 +0000 (f9a6a69)
@@ -22,6 +22,7 @@
 #include "../../lib/grn-assertions.h"
 
 void test_in_circle(void);
+void test_sort(void);
 void test_filter_by_tag_and_sort_by_distance_from_tokyo_tocho(void);
 void test_but_white(void);
 void test_drilldown(void);
@@ -121,6 +122,36 @@ test_in_circle(void)
 }
 
 void
+test_sort(void)
+{
+  gdouble yurakucho_latitude = 35.67487;
+  gdouble yurakucho_longitude = 139.76352;
+  gint distance = 3 * 1000;
+
+  cut_assert_equal_string(
+    "[[[6],"
+    "[[\"name\",\"ShortText\"],[\"_score\",\"Int32\"]],"
+    "[\"銀座 かずや\",795],"
+    "[\"たいやき神田達磨 八重洲店\",1079],"
+    "[\"たい焼き鉄次 大丸東京店\",1390],"
+    "[\"築地 さのきや\",1723],"
+    "[\"にしみや 甘味処\",2000],"
+    "[\"しげ田\",2272]"
+    "]]",
+    send_command(
+      cut_take_printf(
+        "select Shops "
+        "--sortby 'geo_distance(location, \"%s\")' "
+        "--output_columns 'name, _score' "
+        "--filter 'geo_in_circle(location, \"%s\", %d)' "
+        "--scorer '_score=geo_distance(location, \"%s\")'",
+        grn_test_location_string(yurakucho_latitude, yurakucho_longitude),
+        grn_test_location_string(yurakucho_latitude, yurakucho_longitude),
+        distance,
+        grn_test_location_string(yurakucho_latitude, yurakucho_longitude))));
+}
+
+void
 test_filter_by_tag_and_sort_by_distance_from_tokyo_tocho(void)
 {
   gdouble tokyo_tocho_latitude = 35.689444;




Groonga-commit メーリングリストの案内
アーカイブの一覧に戻る