示例#1
0
grn_rc
GRN_PLUGIN_REGISTER(grn_ctx *ctx)
{
  grn_rc rc;

  rc = grn_tokenizer_register(ctx, "TokenSample", -1,
                              sample_init, sample_next, sample_fin);

  return rc;
}
示例#2
0
/*
  This function registers a plugin to a database.
 */
grn_rc
GRN_PLUGIN_REGISTER(grn_ctx *ctx)
{
  grn_rc rc;

  rc = grn_tokenizer_register(ctx, "TokenMecab", 10,
                              mecab_init, mecab_next, mecab_fin);
  if (rc == GRN_SUCCESS) {
    grn_obj *token_mecab;
    token_mecab = grn_ctx_get(ctx, "TokenMecab", 10);
    /* Just for backward compatibility. TokenMecab was built-in not plugin. */
    if (token_mecab && grn_obj_id(ctx, token_mecab) != GRN_DB_MECAB) {
      rc = GRN_FILE_CORRUPT;
    }
  }

  return rc;
}
示例#3
0
grn_rc
GRN_PLUGIN_REGISTER(grn_ctx *ctx)
{
  grn_rc rc;

  rc = grn_tokenizer_register(ctx, "TokenYaBigram", -1,
                              yabigram_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaBigramIgnoreBlank", -1,
                              yabigram_ib_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaBigramSplitSymbolAlpha", -1,
                              yabigram_sa_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaTrigram", -1,
                              yatrigram_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaTrigramIgnoreBlank", -1,
                              yatrigram_ib_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaTrigramSplitSymbolAlpha", -1,
                              yatrigram_sa_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaVgram", -1,
                              yavgram_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaVgramSplitSymbolAlpha", -1,
                              yavgram_sa_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaVgramBoth", -1,
                              yavgramb_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaVgramBothSplitSymbolAlpha", -1,
                              yavgramb_sa_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaVgramQuad", -1,
                              yavgramq_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaVgramQuadSplitDigit", -1,
                              yavgramq_d_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaBigramSplitDigit", -1,
                              yabigram_d_init, yangram_next, yangram_fin);

  rc = grn_tokenizer_register(ctx, "TokenYaTrigramSplitSymbolAlphaDigit", -1,
                              yatrigram_sad_init, yangram_next, yangram_fin);
  return ctx->rc;
}
示例#4
0
/*
  GRN_PLUGIN_REGISTER() registers this plugin to the database associated with
  `ctx'. The registration requires the plugin name and the functions to be
  called for tokenization.
 */
grn_rc GRN_PLUGIN_REGISTER(grn_ctx *ctx) {
  return grn_tokenizer_register(ctx, "TokenKytea", 10, grn_kytea_init,
                                grn_kytea_next, grn_kytea_fin);
}