#ifndef PAZPAR2_H
#define PAZPAR2_H
-#include <yaz/pquery.h>
+struct record;
-struct session {
- struct target *targets;
- YAZ_PQF_Parser pqf_parser;
- int requestid;
- char query[1024];
- NMEM nmem;
-};
+#include <yaz/pquery.h>
+#include "termlists.h"
+#include "relevance.h"
struct record {
struct target *target;
int target_offset;
char *buf;
char *merge_key;
+ char *title;
+ int relevance;
+ int *term_frequency_vec;
struct record *next_cluster;
- struct record *head_cluster;
+};
+
+struct session {
+ struct target *targets;
+ YAZ_PQF_Parser pqf_parser;
+ int requestid;
+ char query[1024];
+ NMEM nmem;
+ WRBUF wrbuf;
+ struct termlist *termlist;
+ struct relevance *relevance;
+ struct reclist *reclist;
+ int total_hits;
+ int total_records;
+ yaz_marc_t yaz_marc;
};
struct statistics {
int num_idle;
int num_failed;
int num_error;
+ int num_hits;
+ int num_records;
};
struct hitsbytarget {
struct hitsbytarget *hitsbytarget(struct session *s, int *count);
struct session *new_session();
+void session_destroy(struct session *s);
int load_targets(struct session *s, const char *fn);
void statistics(struct session *s, struct statistics *stat);
-void search(struct session *s, char *query);
+char *search(struct session *s, char *query);
+struct record **show(struct session *s, int start, int *num);
+struct termlist_score **termlist(struct session *s, int *num);
#endif