X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=ff4902f4cceb38410cb86c90e6a0a0af63b9c585;hb=f7a3769dede0071696bdcc13ae2ee1efe6d52d96;hp=efaf443be5dbb5f33ad3a5e29588b6430574ec8b;hpb=072571aaf56ebd387bed8cad5f2cd2ae38333c1f;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index efaf443..ff4902f 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.214 2006-04-25 19:37:21 adam Exp $ +/* $Id: zebraapi.c,v 1.218 2006-05-18 12:03:05 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -36,6 +36,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include #include "index.h" +#include "rank.h" #include "orddict.h" #include #include @@ -245,6 +246,14 @@ ZebraService zebra_start_res (const char *configName, Res def_res, Res over_res) zh->path_root = res_get (zh->global_res, "root"); zh->nmem = nmem_create(); zh->record_classes = recTypeClass_create (zh->global_res, zh->nmem); + + if (1) + { + const char *module_path = res_get(res, "modulePath"); + if (module_path) + recTypeClass_load_modules(&zh->record_classes, zh->nmem, + module_path); + } return zh; } return 0; @@ -359,12 +368,7 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, reg->keys = zebra_rec_keys_open(); -#if NATTR reg->sortKeys = zebra_rec_keys_open(); -#else - reg->sortKeys.buf = 0; - reg->sortKeys.buf_max = 0; -#endif reg->records = 0; reg->dict = 0; @@ -377,8 +381,10 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, reg->key_file_no = 0; reg->ptr_i = 0; + /* installing rank classes */ zebraRankInstall (reg, rank_1_class); zebraRankInstall (reg, rank_zv_class); + zebraRankInstall (reg, rank_similarity_class); zebraRankInstall (reg, rank_static_class); recordCompression = res_get_def (res, "recordCompression", "none"); @@ -540,11 +546,7 @@ static void zebra_register_close(ZebraService zs, struct zebra_register *reg) data1_destroy (reg->dh); zebra_rec_keys_close(reg->keys); -#if NATTR zebra_rec_keys_close(reg->sortKeys); -#else - xfree(reg->sortKeys.buf); -#endif xfree(reg->key_buf); xfree(reg->name); @@ -2462,3 +2464,11 @@ void zebra_lock_prefix (Res res, char *path) strcat (path, "/"); } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +