Added subject facet browsing, beginning of relevance ranking
[pazpar2-moved-to-github.git] / pazpar2.h
1 #ifndef PAZPAR2_H
2 #define PAZPAR2_H
3
4 #include <yaz/pquery.h>
5 #include "termlists.h"
6
7 struct record {
8     struct target *target;
9     int target_offset;
10     char *buf;
11     char *merge_key;
12     struct record *next_cluster;
13 };
14
15 struct session {
16     struct target *targets;
17     YAZ_PQF_Parser pqf_parser;
18     int requestid; 
19     char query[1024];
20     NMEM nmem;
21     WRBUF wrbuf;
22     struct termlist *termlist;
23     struct reclist *reclist;
24     yaz_marc_t yaz_marc;
25 };
26
27 struct statistics {
28     int num_connections;
29     int num_no_connection;
30     int num_connecting;
31     int num_initializing;
32     int num_searching;
33     int num_presenting;
34     int num_idle;
35     int num_failed;
36     int num_error;
37 };
38
39 struct hitsbytarget {
40     char id[256];
41     int hits;
42     int diagnostic;
43     int records;
44     char* state;
45 };
46
47 struct hitsbytarget *hitsbytarget(struct session *s, int *count);
48 struct session *new_session();
49 void session_destroy(struct session *s);
50 int load_targets(struct session *s, const char *fn);
51 void statistics(struct session *s, struct statistics *stat);
52 void search(struct session *s, char *query);
53 struct record **show(struct session *s, int start, int *num);
54 struct termlist_score **termlist(struct session *s, int *num);
55
56 #endif
57
58 /*
59  * Local variables:
60  * c-basic-offset: 4
61  * indent-tabs-mode: nil
62  * End:
63  * vim: shiftwidth=4 tabstop=8 expandtab
64  */