X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=include%2Fidzebra%2Fsnippet.h;h=aeb95bd8651f58ab27e5b435cd3e8007e90293b6;hp=1bc5a7e7ff77f14e7b15f8e6dea8cdb5d462a8b6;hb=a030c87bc444608639905eca95e29f84a4f1d991;hpb=c401b3a1421e31b3d6b77bc7bac6ffb934207df1 diff --git a/include/idzebra/snippet.h b/include/idzebra/snippet.h index 1bc5a7e..aeb95bd 100644 --- a/include/idzebra/snippet.h +++ b/include/idzebra/snippet.h @@ -1,8 +1,5 @@ -/* $Id: snippet.h,v 1.7 2006-10-29 17:20:00 adam Exp $ - Copyright (C) 1995-2006 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1994-2011 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -28,11 +25,14 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA YAZ_BEGIN_CDECL struct zebra_snippet_word { - zint seqno; - int ord; - char *term; - int match; + zint seqno; /**< sequence number */ + int ord; /**< ordinal, i.e. database,field,type */ + char *term; /**< term itself */ + int match; /**< both part and real match */ + int mark; /**< part of snippet */ + int ws; /**< white space flag (not indexed material) */ struct zebra_snippet_word *next; + struct zebra_snippet_word *prev; }; typedef struct zebra_snippets zebra_snippets; @@ -46,29 +46,49 @@ void zebra_snippets_destroy(zebra_snippets *l); YAZ_EXPORT void zebra_snippets_append(zebra_snippets *l, - zint seqno, int ord, const char *term); + zint seqno, int ws, int ord, const char *term); + +YAZ_EXPORT +void zebra_snippets_appendn(zebra_snippets *l, + zint seqno, int ws, int ord, + const char *term, size_t term_len); YAZ_EXPORT void zebra_snippets_append_match(zebra_snippets *l, - zint seqno, int ord, const char *term, + zint seqno, int ws, int ord, + const char *term, size_t term_len, int match); YAZ_EXPORT zebra_snippet_word *zebra_snippets_list(zebra_snippets *l); YAZ_EXPORT -void zebra_snippets_log(zebra_snippets *l, int log_level); +const zebra_snippet_word *zebra_snippets_constlist(const zebra_snippets *l); + +YAZ_EXPORT +void zebra_snippets_log(const zebra_snippets *l, int log_level, int all); YAZ_EXPORT -zebra_snippets *zebra_snippets_window(zebra_snippets *doc, zebra_snippets *hit, +zebra_snippets *zebra_snippets_window(const zebra_snippets *doc, + const zebra_snippets *hit, int window_size); +YAZ_EXPORT +void zebra_snippets_ring(zebra_snippets *doc, const zebra_snippets *hit, + int before, int after); + + +YAZ_EXPORT +const struct zebra_snippet_word *zebra_snippets_lookup( + const zebra_snippets *doc, const zebra_snippets *hit); + YAZ_END_CDECL #endif /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab