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