source: trunk/gsdl/src/colservr/mgppsearch.h@ 4218

Last change on this file since 4218 was 2697, checked in by kjm18, 23 years ago

keep a pointer to an IndexData structure so keep state between queries.
will only work for persistant libraries, but should speed up queries
that are on the same index and level as the previous query

  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1/**********************************************************************
2 *
3 * mgppsearch.h -- implementation of search class for mgpp
4 * Copyright (C) 1999 The New Zealand Digital Library Project
5 *
6 * A component of the Greenstone digital library software
7 * from the New Zealand Digital Library Project at the
8 * University of Waikato, New Zealand.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 *
25 *
26 *********************************************************************/
27
28
29#ifndef MGPPSEARCH_H
30#define MGPPSEARCH_H
31
32#include "search.h"
33#include "IndexData.h"
34
35class mgppsearchclass : public searchclass {
36public:
37 mgppsearchclass ();
38 virtual ~mgppsearchclass ();
39
40 virtual text_t get_mg_type() {return "mgpp";}
41
42 // the search results are returned in queryresults
43 // search returns 'true' if it was able to do a search
44 virtual bool search(const queryparamclass &queryparams,
45 queryresultsclass &queryresults);
46
47 // this returns a list of terms in queryresults - no document info is returned
48 // returns a list of numTerms terms, starting from the query string term (in queryparams)
49 // + start. used for full text browsing
50 virtual bool browse_search(const queryparamclass &queryparams, int start, int numTerms,
51 queryresultsclass &queryresults);
52
53 // the document text for 'docnum' is placed in 'output'
54 // docTargetDocument returns 'true' if it was able to
55 // try to get a document
56 // collection is needed to see if an index from the
57 // collection is loaded. If no index has been loaded
58 // defaultindex is needed to load one
59 virtual bool docTargetDocument(const text_t &defaultindex,
60 const text_t &defaultsubcollection,
61 const text_t &defaultlanguage,
62 const text_t &collection,
63 int docnum,
64 text_t &output);
65
66 /* // same as docTargetDocument except the document is returned
67 // in its raw form. UDoc remains the property of mg and may
68 // be destroyed on the next call to mg.
69 // not implemented for mgpp
70 virtual bool mgdocument (const text_t &defaultindex,
71 const text_t &defaultsubcollection,
72 const text_t &defaultlanguage,
73 const text_t &collection,
74 int docnum,
75 char *&UDoc, int &ULen);
76 */
77 void set_gdbm_level(text_t &level);
78
79 // used to clear any cached databases for persistent versions of
80 // Greenstone like the Windows local library
81 void unload_database ();
82 protected:
83 text_t gdbm_level; // the level used in gdbm file (usu. Section, but may be
84 // Document)
85
86 IndexData *indexData; // the index data structure needed for MGQuery - keep
87 // as a cache
88
89};
90
91
92#endif
93
Note: See TracBrowser for help on using the repository browser.