[Groonga-commit] groonga/groonga at 1149af3 [master] schema: support token_filters

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Oct 20 11:41:45 JST 2015


Kouhei Sutou	2015-10-20 11:41:45 +0900 (Tue, 20 Oct 2015)

  New Revision: 1149af39eba87fd1c4a5add6df8ccb132d297e26
  https://github.com/groonga/groonga/commit/1149af39eba87fd1c4a5add6df8ccb132d297e26

  Message:
    schema: support token_filters

  Added files:
    test/command/suite/schema/tables/token_filters.test
  Copied files:
    test/command/suite/schema/tables/token_filters.expected
      (from test/command/suite/schema/tables/tokenizer.expected)
  Modified files:
    lib/proc.c
    test/command/suite/schema/tables/normalizer.expected
    test/command/suite/schema/tables/tokenizer.expected
    test/command/suite/schema/tables/type/array.expected
    test/command/suite/schema/tables/type/hash_table.expected
    test/command/suite/schema/tables/value_type/reference.expected
    test/command/suite/schema/tables/value_type/type.expected

  Modified: lib/proc.c (+34 -1)
===================================================================
--- lib/proc.c    2015-10-20 11:31:03 +0900 (a23953c)
+++ lib/proc.c    2015-10-20 11:41:45 +0900 (2561182)
@@ -7547,6 +7547,36 @@ proc_schema_table_output_normalizer(grn_ctx *ctx, grn_obj *table)
 }
 
 static void
+proc_schema_table_output_token_filters(grn_ctx *ctx, grn_obj *table)
+{
+  grn_obj token_filters;
+  int i, n;
+
+  GRN_PTR_INIT(&token_filters, GRN_OBJ_VECTOR, GRN_DB_OBJECT);
+  if (table->header.type != GRN_TABLE_NO_KEY) {
+  grn_obj_get_info(ctx, table, GRN_INFO_TOKEN_FILTERS, &token_filters);
+  }
+
+  n = GRN_BULK_VSIZE(&token_filters) / sizeof(grn_obj *);
+  GRN_OUTPUT_ARRAY_OPEN("token_filters", n);
+  for (i = 0; i < n; i++) {
+    grn_obj *token_filter;
+
+    token_filter = GRN_PTR_VALUE_AT(&token_filters, i);
+
+    GRN_OUTPUT_MAP_OPEN("token_filter", 1);
+
+    GRN_OUTPUT_CSTR("name");
+    proc_schema_output_name(ctx, token_filter);
+
+    GRN_OUTPUT_MAP_CLOSE();
+  }
+  GRN_OUTPUT_ARRAY_CLOSE();
+
+  GRN_OBJ_FIN(ctx, &token_filters);
+}
+
+static void
 proc_schema_tables(grn_ctx *ctx)
 {
   grn_obj tables;
@@ -7567,7 +7597,7 @@ proc_schema_tables(grn_ctx *ctx)
 
     proc_schema_output_name(ctx, table);
 
-    GRN_OUTPUT_MAP_OPEN("table", 6);
+    GRN_OUTPUT_MAP_OPEN("table", 7);
 
     GRN_OUTPUT_CSTR("name");
     proc_schema_output_name(ctx, table);
@@ -7587,6 +7617,9 @@ proc_schema_tables(grn_ctx *ctx)
     GRN_OUTPUT_CSTR("normalizer");
     proc_schema_table_output_normalizer(ctx, table);
 
+    GRN_OUTPUT_CSTR("token_filters");
+    proc_schema_table_output_token_filters(ctx, table);
+
     GRN_OUTPUT_MAP_CLOSE();
   }
   GRN_OUTPUT_MAP_CLOSE();

  Modified: test/command/suite/schema/tables/normalizer.expected (+4 -1)
===================================================================
--- test/command/suite/schema/tables/normalizer.expected    2015-10-20 11:31:03 +0900 (5aca588)
+++ test/command/suite/schema/tables/normalizer.expected    2015-10-20 11:41:45 +0900 (feb2d86)
@@ -176,7 +176,10 @@ schema
         },
         "value_type": null,
         "tokenizer": null,
-        "normalizer": "NormalizerAuto"
+        "normalizer": "NormalizerAuto",
+        "token_filters": [
+
+        ]
       }
     }
   }

  Copied: test/command/suite/schema/tables/token_filters.expected (+15 -2) 89%
===================================================================
--- test/command/suite/schema/tables/tokenizer.expected    2015-10-20 11:31:03 +0900 (c35fc17)
+++ test/command/suite/schema/tables/token_filters.expected    2015-10-20 11:41:45 +0900 (7403bb3)
@@ -1,4 +1,6 @@
-table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram
+plugin_register token_filters/stop_word
+[[0,0.0,0.0],true]
+table_create Terms TABLE_PAT_KEY ShortText   --default_tokenizer TokenBigram   --token_filters TokenFilterStopWord
 [[0,0.0,0.0],true]
 schema
 [
@@ -9,6 +11,9 @@ schema
   ],
   {
     "plugins": {
+      "token_filters/stop_word": {
+        "name": "token_filters/stop_word"
+      }
     },
     "types": {
       "Bool": {
@@ -145,6 +150,9 @@ schema
       "TokenDelimitNull": {
         "name": "TokenDelimitNull"
       },
+      "TokenFilterStopWord": {
+        "name": "TokenFilterStopWord"
+      },
       "TokenMecab": {
         "name": "TokenMecab"
       },
@@ -176,7 +184,12 @@ schema
         },
         "value_type": null,
         "tokenizer": "TokenBigram",
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+          {
+            "name": "TokenFilterStopWord"
+          }
+        ]
       }
     }
   }

  Added: test/command/suite/schema/tables/token_filters.test (+7 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/schema/tables/token_filters.test    2015-10-20 11:41:45 +0900 (1b4de92)
@@ -0,0 +1,7 @@
+plugin_register token_filters/stop_word
+
+table_create Terms TABLE_PAT_KEY ShortText \
+  --default_tokenizer TokenBigram \
+  --token_filters TokenFilterStopWord
+
+schema

  Modified: test/command/suite/schema/tables/tokenizer.expected (+4 -1)
===================================================================
--- test/command/suite/schema/tables/tokenizer.expected    2015-10-20 11:31:03 +0900 (c35fc17)
+++ test/command/suite/schema/tables/tokenizer.expected    2015-10-20 11:41:45 +0900 (bf1b93b)
@@ -176,7 +176,10 @@ schema
         },
         "value_type": null,
         "tokenizer": "TokenBigram",
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+
+        ]
       }
     }
   }

  Modified: test/command/suite/schema/tables/type/array.expected (+4 -1)
===================================================================
--- test/command/suite/schema/tables/type/array.expected    2015-10-20 11:31:03 +0900 (79e2129)
+++ test/command/suite/schema/tables/type/array.expected    2015-10-20 11:41:45 +0900 (866cda1)
@@ -173,7 +173,10 @@ schema
         "key_type": null,
         "value_type": null,
         "tokenizer": null,
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+
+        ]
       }
     }
   }

  Modified: test/command/suite/schema/tables/type/hash_table.expected (+4 -1)
===================================================================
--- test/command/suite/schema/tables/type/hash_table.expected    2015-10-20 11:31:03 +0900 (b5d3670)
+++ test/command/suite/schema/tables/type/hash_table.expected    2015-10-20 11:41:45 +0900 (193b50e)
@@ -176,7 +176,10 @@ schema
         },
         "value_type": null,
         "tokenizer": null,
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+
+        ]
       }
     }
   }

  Modified: test/command/suite/schema/tables/value_type/reference.expected (+8 -2)
===================================================================
--- test/command/suite/schema/tables/value_type/reference.expected    2015-10-20 11:31:03 +0900 (25d465e)
+++ test/command/suite/schema/tables/value_type/reference.expected    2015-10-20 11:41:45 +0900 (616a097)
@@ -178,7 +178,10 @@ schema
           "type": "reference"
         },
         "tokenizer": null,
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+
+        ]
       },
       "Users": {
         "name": "Users",
@@ -189,7 +192,10 @@ schema
         },
         "value_type": null,
         "tokenizer": null,
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+
+        ]
       }
     }
   }

  Modified: test/command/suite/schema/tables/value_type/type.expected (+4 -1)
===================================================================
--- test/command/suite/schema/tables/value_type/type.expected    2015-10-20 11:31:03 +0900 (ee4941f)
+++ test/command/suite/schema/tables/value_type/type.expected    2015-10-20 11:41:45 +0900 (0a54613)
@@ -176,7 +176,10 @@ schema
           "type": "type"
         },
         "tokenizer": null,
-        "normalizer": null
+        "normalizer": null,
+        "token_filters": [
+
+        ]
       }
     }
   }
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index