-/* $Id: extract.c,v 1.246 2006-12-18 23:40:07 adam Exp $
- Copyright (C) 1995-2006
+/* $Id: extract.c,v 1.248 2007-01-22 18:15:03 adam Exp $
+ Copyright (C) 1995-2007
Index Data ApS
This file is part of the Zebra server.
zebra_rec_keys_write(zh->reg->sortKeys, str, length, &key);
}
+static void extract_add_staticrank_string(RecWord *p,
+ const char *str, int length)
+{
+ char valz[40];
+ struct recExtractCtrl *ctrl = p->extractCtrl;
+
+ if (length > sizeof(valz)-1)
+ length = sizeof(valz)-1;
+
+ memcpy(valz, str, length);
+ valz[length] = '\0';
+ ctrl->staticrank = atozint(valz);
+}
+
static void extract_add_string(RecWord *p, const char *string, int length)
{
ZebraHandle zh = p->extractCtrl->handle;
if (!p->index_name)
return;
- if (zebra_maps_is_sort(zh->reg->zebra_maps, p->index_type))
- extract_add_sort_string(p, string, length);
- else
+ if (zebra_maps_is_index(zh->reg->zebra_maps, p->index_type))
{
extract_add_index_string(p, zinfo_index_category_index,
string, length);
&word, zinfo_index_category_alwaysmatches, "", 0);
}
}
+ else if (zebra_maps_is_sort(zh->reg->zebra_maps, p->index_type))
+ {
+ extract_add_sort_string(p, string, length);
+ }
+ else if (zebra_maps_is_staticrank(zh->reg->zebra_maps, p->index_type))
+ {
+ extract_add_staticrank_string(p, string, length);
+ }
}
static void extract_add_incomplete_field(RecWord *p)