-/* $Id: extract.c,v 1.192 2005-08-22 09:04:17 adam Exp $
+/* $Id: extract.c,v 1.193 2005-08-26 10:13:30 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
ZEBRA_RES zebra_snippets_rec_keys(ZebraHandle zh, struct recKeys *reckeys,
zebra_snippets *snippets)
{
- void *decode_handle = iscz1_start();
+ void *decode_handle = iscz1_start();
int off = 0;
int seqno = 0;
NMEM nmem = nmem_create();
- yaz_log(YLOG_LOG, "zebra_rec_keys_snippets buf=%p sz=%d", reckeys->buf,
- reckeys->buf_used);
assert(reckeys->buf);
while (off < reckeys->buf_used)
{
char *dst = (char*) &key;
char dst_buf[IT_MAX_WORD];
char *dst_term = dst_buf;
+ int index_type, ord;
iscz1_decode(decode_handle, &dst, &src);
assert(key.len <= 4 && key.len > 2);
seqno = (int) key.mem[key.len-1];
+ ord = key.mem[0];
- zebra_term_untrans_iconv(zh, nmem, src[0], &dst_term, src+1);
- zebra_snippets_append(snippets, seqno, src[0], key.mem[0], dst_term);
+ zebraExplain_lookup_ord(zh->reg->zei, ord, &index_type,
+ 0/* db */, 0/* set */, 0/* use */);
+ zebra_term_untrans_iconv(zh, nmem, index_type,
+ &dst_term, src);
+ zebra_snippets_append(snippets, seqno, ord, dst_term);
while (*src++)
;
off = src - reckeys->buf;