X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=include%2Fidzebra%2Fsnippet.h;h=aeb95bd8651f58ab27e5b435cd3e8007e90293b6;hp=4766927ab597ef789df5caf300e36bd945e151a7;hb=a030c87bc444608639905eca95e29f84a4f1d991;hpb=11de0965b256736f01e55b17a603eb9ebad5ec12 diff --git a/include/idzebra/snippet.h b/include/idzebra/snippet.h index 4766927..aeb95bd 100644 --- a/include/idzebra/snippet.h +++ b/include/idzebra/snippet.h @@ -1,8 +1,5 @@ -/* $Id: snippet.h,v 1.4 2005-08-26 10:13:30 adam Exp $ - Copyright (C) 1995-2005 - 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 @@ -15,9 +12,9 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ #ifndef IDZEBRA_SNIPPET_H @@ -28,41 +25,72 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 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; typedef struct zebra_snippet_word zebra_snippet_word; YAZ_EXPORT -zebra_snippets *zebra_snippets_create(); +zebra_snippets *zebra_snippets_create(void); YAZ_EXPORT 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 + */ +