29#define GRN_TOKENIZER_TOKENIZED_DELIMITER_UTF8 "\xEF\xBF\xBE"
30#define GRN_TOKENIZER_TOKENIZED_DELIMITER_UTF8_LEN 3
32#define GRN_TOKENIZER_BEGIN_MARK_UTF8 "\xEF\xBF\xAF"
33#define GRN_TOKENIZER_BEGIN_MARK_UTF8_LEN 3
34#define GRN_TOKENIZER_END_MARK_UTF8 "\xEF\xBF\xB0"
35#define GRN_TOKENIZER_END_MARK_UTF8_LEN 3
48 unsigned int str_length,
61 unsigned int str_length,
72 unsigned int str_length,
83 unsigned int str_length,
100 uint32_t normalize_flags);
266 uint32_t n_total_records);
281 uint32_t n_total_records);
296 uint32_t n_total_records);
393#define GRN_TOKENIZER_TOKEN_CONTINUE GRN_TOKEN_CONTINUE
399#define GRN_TOKENIZER_TOKEN_LAST GRN_TOKEN_LAST
405#define GRN_TOKENIZER_TOKEN_OVERLAP GRN_TOKEN_OVERLAP
411#define GRN_TOKENIZER_TOKEN_UNMATURED GRN_TOKEN_UNMATURED
417#define GRN_TOKENIZER_TOKEN_REACH_END GRN_TOKEN_REACH_END
423#define GRN_TOKENIZER_TOKEN_SKIP GRN_TOKEN_SKIP
430#define GRN_TOKENIZER_TOKEN_SKIP_WITH_POSITION GRN_TOKEN_SKIP_WITH_POSITION
436#define GRN_TOKENIZER_TOKEN_FORCE_PREFIX GRN_TOKEN_FORCE_PREFIX
444#define GRN_TOKENIZER_CONTINUE GRN_TOKENIZER_TOKEN_CONTINUE
445#define GRN_TOKENIZER_LAST GRN_TOKENIZER_TOKEN_LAST
459 unsigned int str_length,
477 unsigned int str_length,
492 unsigned int str_length,
512 const char *plugin_name_ptr,
513 unsigned int plugin_name_length,
grn_rc
Definition groonga.h:61
grn_obj * grn_proc_func(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
Definition groonga.h:346
uint32_t grn_id
Definition groonga.h:44
grn_encoding
Definition groonga.h:163
#define GRN_PLUGIN_EXPORT
Definition plugin.h:50
Definition tokenizer_query_deprecated.h:35
Definition tokenizer.h:360
grn_obj status
Definition tokenizer.h:362
grn_obj str
Definition tokenizer.h:361
uint32_t grn_token_status
Definition token.h:69
struct _grn_token grn_token
Definition token.h:127
grn_tokenize_mode
Definition token.h:37
GRN_PLUGIN_EXPORT bool grn_tokenizer_query_have_tokenized_delimiter(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT void grn_tokenizer_token_fin(grn_ctx *ctx, grn_tokenizer_token *token)
void * grn_tokenizer_init_func(grn_ctx *ctx, grn_tokenizer_query *query)
Definition tokenizer.h:538
GRN_PLUGIN_EXPORT void grn_tokenizer_token_push(grn_ctx *ctx, grn_tokenizer_token *token, const char *str_ptr, unsigned int str_length, grn_token_status status)
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_create(grn_ctx *ctx, const char *name, int name_length)
GRN_PLUGIN_EXPORT grn_tokenize_mode grn_tokenizer_query_get_mode(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_tokenizer_query * grn_tokenizer_query_open(grn_ctx *ctx, int num_args, grn_obj **args, uint32_t normalize_flags)
grn_tokenizer_query * grn_tokenizer_query_create(grn_ctx *ctx, int num_args, grn_obj **args)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_start_record(grn_ctx *ctx, grn_tokenizer_build_data *data, grn_id rid)
A tokenizer must call this when it starts processing a new record.
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_start_section(grn_ctx *ctx, grn_tokenizer_build_data *data, uint32_t sid)
A tokenizer must call this when it starts processing a new section.
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_query_get_normalized_string(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT bool grn_tokenizer_have_tokenized_delimiter(grn_ctx *ctx, const char *str_ptr, unsigned int str_length, grn_encoding encoding)
GRN_PLUGIN_EXPORT grn_id grn_tokenizer_query_get_source_id(grn_ctx *ctx, grn_tokenizer_query *query)
void grn_tokenizer_next_func(grn_ctx *ctx, grn_tokenizer_query *query, grn_token *token, void *user_data)
Definition tokenizer.h:540
GRN_PLUGIN_EXPORT void grn_tokenizer_query_close(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_set_fin_func(grn_ctx *ctx, grn_obj *tokenizer, grn_tokenizer_fin_func *fin)
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_query_get_options(grn_ctx *ctx, grn_tokenizer_query *query)
void grn_tokenizer_fin_func(grn_ctx *ctx, void *user_data)
Definition tokenizer.h:545
GRN_PLUGIN_EXPORT const char * grn_tokenizer_query_get_raw_string(grn_ctx *ctx, grn_tokenizer_query *query, size_t *length)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_finish_section(grn_ctx *ctx, grn_tokenizer_build_data *data)
A tokenizer must call this when it finishes processing a section.
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_query_get_lexicon(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_build_data_get_source_table(grn_ctx *ctx, grn_tokenizer_build_data *data)
Return the build target table.
GRN_PLUGIN_EXPORT void grn_tokenizer_token_init(grn_ctx *ctx, grn_tokenizer_token *token)
grn_rc grn_tokenizer_build_func(grn_ctx *ctx, grn_tokenizer_build_data *data)
A function to build an index column by this tokenizer.
Definition tokenizer.h:536
int grn_tokenizer_charlen(grn_ctx *ctx, const char *str_ptr, unsigned int str_length, grn_encoding encoding)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_register(grn_ctx *ctx, const char *plugin_name_ptr, unsigned int plugin_name_length, grn_proc_func *init, grn_proc_func *next, grn_proc_func *fin)
grn_token_status grn_tokenizer_status
Definition tokenizer.h:386
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_start_cluster(grn_ctx *ctx, grn_tokenizer_build_data *data, uint32_t n_total_records)
A tokenizer must call this when it starts clustering. This is only for progress report.
void grn_tokenizer_query_destroy(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_set_init_func(grn_ctx *ctx, grn_obj *tokenizer, grn_tokenizer_init_func *init)
int grn_tokenizer_isspace(grn_ctx *ctx, const char *str_ptr, unsigned int str_length, grn_encoding encoding)
GRN_PLUGIN_EXPORT unsigned int grn_tokenizer_query_get_token_filter_index(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_query_get_index_column(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_build_data_get_source_columns(grn_ctx *ctx, grn_tokenizer_build_data *data)
Return the build target columns as GRN_PVECTOR.
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_append_tokens(grn_ctx *ctx, grn_tokenizer_build_data *data, grn_obj *tokens)
A tokenizer must call this when it appends tokens to the current record and section.
GRN_PLUGIN_EXPORT uint32_t grn_tokenizer_query_get_flags(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_processed_n_records(grn_ctx *ctx, grn_tokenizer_build_data *data, uint32_t n_records)
A tokenizer may call this when it processed one or more records. This is only for progress report.
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_build_data_get_index_column(grn_ctx *ctx, grn_tokenizer_build_data *data)
Return the index column for this tokenizer.
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_build_data_get_lexicon(grn_ctx *ctx, grn_tokenizer_build_data *data)
Return the lexicon for this tokenizer.
bool grn_tokenizer_is_tokenized_delimiter(grn_ctx *ctx, const char *str_ptr, unsigned int str_length, grn_encoding encoding)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_set_build_func(grn_ctx *ctx, grn_obj *tokenizer, grn_tokenizer_build_func *build)
Set build function for this tokenizer.
GRN_PLUGIN_EXPORT uint32_t grn_tokenizer_query_get_normalize_flags(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_start_load(grn_ctx *ctx, grn_tokenizer_build_data *data, uint32_t n_total_records)
A tokenizer must call this when it starts loading. This is only for progress report.
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_finish_record(grn_ctx *ctx, grn_tokenizer_build_data *data)
A tokenizer must call this when it finishes processing a record.
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_set_next_func(grn_ctx *ctx, grn_obj *tokenizer, grn_tokenizer_next_func *next)
GRN_PLUGIN_EXPORT grn_encoding grn_tokenizer_query_get_encoding(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_build_data_start_vectorize(grn_ctx *ctx, grn_tokenizer_build_data *data, uint32_t n_total_records)
A tokenizer must call this when it starts vectorizing. This is only for progress report.
GRN_PLUGIN_EXPORT const char * grn_tokenizer_tokenized_delimiter_next(grn_ctx *ctx, grn_tokenizer_token *token, const char *str_ptr, unsigned int str_length, grn_encoding encoding)
GRN_PLUGIN_EXPORT grn_obj * grn_tokenizer_query_get_source_column(grn_ctx *ctx, grn_tokenizer_query *query)
GRN_PLUGIN_EXPORT grn_rc grn_tokenizer_query_set_normalize_flags(grn_ctx *ctx, grn_tokenizer_query *query, uint32_t flags)
struct grn_tokenizer_build_data grn_tokenizer_build_data
This is an opaque data to pass build data to a tokenizer from Groonga.
Definition tokenizer.h:188
GRN_PLUGIN_EXPORT const char * grn_tokenizer_next_by_tokenized_delimiter(grn_ctx *ctx, grn_token *token, const char *str_ptr, unsigned int str_length, grn_encoding encoding)
GRN_PLUGIN_EXPORT const char * grn_tokenizer_query_get_data(grn_ctx *ctx, grn_tokenizer_query *query, size_t *size, grn_id *domain)