X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=709e291c696549801c373e084dfbb3381f02acbe;hb=6b553b7b42f0a2940c9765b9811e5db44ba8265f;hp=778860280dab528e45b8807a520c47664568c36f;hpb=950d8094d0ee3aae2f4da7e5557c600ba871f269;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index 7788602..709e291 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.232 2006-11-17 13:47:22 marc Exp $ +/* $Id: zebraapi.c,v 1.235 2006-11-27 09:17:01 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -84,9 +84,10 @@ static ZEBRA_RES zebra_flush_reg (ZebraHandle zh) ZEBRA_CHECK_HANDLE(zh); yaz_log(log_level, "zebra_flush_reg"); zebraExplain_flush (zh->reg->zei, zh); - - extract_flushWriteKeys (zh, 1 /* final */); - zebra_index_merge (zh ); + + key_block_flush(zh->reg->key_block, 1); + + zebra_index_merge(zh); return ZEBRA_OK; } @@ -367,8 +368,7 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, } reg->rank_classes = NULL; - reg->key_buf = 0; - + reg->key_block = 0; reg->keys = zebra_rec_keys_open(); reg->sortKeys = zebra_rec_keys_open(); @@ -381,8 +381,6 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, reg->isamc = 0; reg->isamb = 0; reg->zei = 0; - reg->key_file_no = 0; - reg->ptr_i = 0; /* installing rank classes */ zebraRankInstall (reg, rank_1_class); @@ -550,7 +548,7 @@ static void zebra_register_close(ZebraService zs, struct zebra_register *reg) zebra_rec_keys_close(reg->keys); zebra_rec_keys_close(reg->sortKeys); - xfree(reg->key_buf); + key_block_destroy(®->key_block); xfree(reg->name); xfree(reg); } @@ -1068,9 +1066,12 @@ ZEBRA_RES zebra_records_retrieve(ZebraHandle zh, ODR stream, int len = 0; zebra_snippets *hit_snippet = zebra_snippets_create(); + /* we disable hit snippets for now. It does not work well + and it slows retrieval down a lot */ +#if 0 zebra_snippets_hit_vector(zh, setname, poset[i].sysno, hit_snippet); - +#endif recs[i].errCode = zebra_record_fetch(zh, poset[i].sysno, poset[i].score, hit_snippet, @@ -1318,7 +1319,7 @@ ZEBRA_RES zebra_admin_import_end (ZebraHandle zh) ZEBRA_RES zebra_admin_import_segment (ZebraHandle zh, Z_Segment *segment) { ZEBRA_RES res = ZEBRA_OK; - SYSNO sysno; + zint sysno; int i; ZEBRA_CHECK_HANDLE(zh); yaz_log(log_level, "zebra_admin_import_segment"); @@ -1360,7 +1361,7 @@ ZEBRA_RES zebra_admin_exchange_record(ZebraHandle zh, /* 4 = update. Insert/replace */ { ZEBRA_RES res; - SYSNO sysno = 0; + zint sysno = 0; char *rinfo = 0; char recid_z[256]; int db_ord; @@ -2238,7 +2239,7 @@ ZEBRA_RES zebra_add_record(ZebraHandle zh, ZEBRA_RES zebra_insert_record(ZebraHandle zh, const char *recordType, - SYSNO *sysno, const char *match, + zint *sysno, const char *match, const char *fname, const char *buf, int buf_size, int force_update) { @@ -2269,12 +2270,12 @@ ZEBRA_RES zebra_insert_record(ZebraHandle zh, return res; } -ZEBRA_RES zebra_update_record (ZebraHandle zh, - const char *recordType, - SYSNO* sysno, const char *match, - const char *fname, - const char *buf, int buf_size, - int force_update) +ZEBRA_RES zebra_update_record(ZebraHandle zh, + const char *recordType, + zint *sysno, const char *match, + const char *fname, + const char *buf, int buf_size, + int force_update) { ZEBRA_RES res; @@ -2306,12 +2307,12 @@ ZEBRA_RES zebra_update_record (ZebraHandle zh, return res; } -ZEBRA_RES zebra_delete_record (ZebraHandle zh, - const char *recordType, - SYSNO *sysno, const char *match, - const char *fname, - const char *buf, int buf_size, - int force_update) +ZEBRA_RES zebra_delete_record(ZebraHandle zh, + const char *recordType, + zint *sysno, const char *match, + const char *fname, + const char *buf, int buf_size, + int force_update) { ZEBRA_RES res; @@ -2468,11 +2469,11 @@ void zebra_setError_zint(ZebraHandle zh, int code, zint i) zh->errString = nmem_strdup(zh->nmem_error, vstr); } -void zebra_lock_prefix (Res res, char *path) +void zebra_lock_prefix(Res res, char *path) { const char *lock_dir = res_get_def (res, "lockDir", ""); - - strcpy (path, lock_dir); + + strcpy(path, lock_dir); if (*path && path[strlen(path)-1] != '/') strcat (path, "/"); }