|
YAZ
4.2.57
|
Header with public definitions about Solr. More...
Go to the source code of this file.
Data Structures | |
| struct | solr_node |
| SOLR parse tree (node) More... | |
| struct | solr_buf_write_info |
| Structure used by solr_buf_write_handler. More... | |
Macros | |
| #define | SOLR_NODE_ST 1 |
| Node type: search term. | |
| #define | SOLR_NODE_BOOL 2 |
| Node type: boolean. | |
Typedefs | |
| typedef struct solr_parser * | SOLR_parser |
| SOLR parser handle (opaque pointer) | |
| typedef struct solr_transform_t_ * | solr_transform_t |
| SOLR transform handle. The transform describes how to convert from SOLR to PQF (Type-1 AKA RPN). | |
Functions | |
| SOLR_parser | solr_parser_create (void) |
| creates a SOLR parser. | |
| void | solr_parser_destroy (SOLR_parser cp) |
| destroys a SOLR parser. | |
| int | solr_parser_string (SOLR_parser cp, const char *str) |
| parses a SOLR query (string) | |
| int | solr_parser_stream (SOLR_parser cp, int(*getbyte)(void *client_data), void(*ungetbyte)(int b, void *client_data), void *client_data) |
| parses SOLR query (query stream) | |
| int | solr_parser_stdio (SOLR_parser cp, FILE *f) |
| parses SOLR query (from FILE) | |
| void | solr_buf_write_handler (const char *b, void *client_data) |
| Handler for solr_buf_write_info. | |
| void | solr_node_print (struct solr_node *cn) |
| Prints a SOLR node and all sub nodes. Hence this function prints the parse tree which is as returned by solr_parser_result. | |
| struct solr_node * | solr_node_mk_sc (NMEM nmem, const char *index, const char *relation, const char *term) |
| creates a search clause node (st). | |
| struct solr_node * | solr_apply_prefix (NMEM nmem, struct solr_node *cn, const char *prefix, const char *uri) |
| applies a prefix+uri to "unresolved" index and relation URIs. "unresolved" URIs are those nodes where member index_uri / relation_uri is NULL. | |
| struct solr_node * | solr_node_mk_boolean (NMEM nmem, const char *op) |
| creates a boolean node. | |
| void | solr_node_destroy (struct solr_node *cn) |
| destroys a node and its children. | |
| struct solr_node * | solr_node_dup (NMEM nmem, struct solr_node *cp) |
| struct solr_node * | solr_parser_result (SOLR_parser cp) |
| returns the parse tree of the most recently parsed SOLR query. | |
| void | solr_to_xml (struct solr_node *cn, void(*pr)(const char *buf, void *client_data), void *client_data) |
| converts SOLR tree to XSOLR and writes to user-defined stream | |
| void | solr_to_xml_stdio (struct solr_node *cn, FILE *f) |
| converts SOLR tree to XSOLR and writes to file | |
| int | solr_to_xml_buf (struct solr_node *cn, char *out, int max) |
| converts SOLR tree to XSOLR and writes result to buffer | |
| void | solr_fputs (const char *buf, void *client_data) |
| stream handle for file (used by solr_to_xml_stdio) | |
| solr_transform_t | solr_transform_create (void) |
| creates a SOLR transform handle | |
| solr_transform_t | solr_transform_open_FILE (FILE *f) |
| creates a SOLR transform handle from am opened file handle | |
| solr_transform_t | solr_transform_open_fname (const char *fname) |
| creates a SOLR transform handle from a file | |
| int | solr_transform_define_pattern (solr_transform_t ct, const char *pattern, const char *value) |
| defines SOLR transform pattern | |
| void | solr_transform_close (solr_transform_t ct) |
| destroys a SOLR transform handle | |
| int | solr_transform (solr_transform_t ct, struct solr_node *cn, void(*pr)(const char *buf, void *client_data), void *client_data) |
| tranforms PQF given a SOLR tree | |
| int | solr_transform_FILE (solr_transform_t ct, struct solr_node *cn, FILE *f) |
| transforms PQF given a SOLR tree (from FILE) | |
| int | solr_transform_buf (solr_transform_t ct, struct solr_node *cn, char *out, int max) |
| transforms PQF given a SOLR tree (from FILE) | |
| int | solr_transform_error (solr_transform_t ct, const char **addinfo) |
| returns additional information for last transform | |
| void | solr_transform_set_error (solr_transform_t ct, int error, const char *addinfo) |
| sets error and addinfo for transform | |
| const char * | solr_strerror (int code) |
| returns the SOLR message corresponding to a given error code. | |
| const char * | solr_uri (void) |
| returns the standard SOLR context set URI. | |
| int | solr_strcmp (const char *s1, const char *s2) |
| compares two SOLR strings (ala strcmp) | |
| int | solr_strncmp (const char *s1, const char *s2, size_t n) |
| compares two SOLR strings (ala strncmp) | |
Header with public definitions about Solr.
Definition in file solr.h.
| #define SOLR_NODE_BOOL 2 |
| #define SOLR_NODE_ST 1 |
Node type: search term.
Definition at line 100 of file solr.h.
Referenced by emit_term(), and solr_transform_r().
| typedef struct solr_parser* SOLR_parser |
| typedef struct solr_transform_t_* solr_transform_t |
|
read |
applies a prefix+uri to "unresolved" index and relation URIs. "unresolved" URIs are those nodes where member index_uri / relation_uri is NULL.
| void solr_buf_write_handler | ( | const char * | b, |
| void * | client_data | ||
| ) |
Handler for solr_buf_write_info.
Definition at line 59 of file solrtransform.c.
References solr_buf_write_info::buf, solr_buf_write_info::max, and solr_buf_write_info::off.
| void solr_fputs | ( | const char * | buf, |
| void * | client_data | ||
| ) |
stream handle for file (used by solr_to_xml_stdio)
| void solr_node_destroy | ( | struct solr_node * | cn | ) |
destroys a node and its children.
duplicates a node (returns a copy of supplied node) .
|
read |
creates a search clause node (st).
| void solr_node_print | ( | struct solr_node * | cn | ) |
Prints a SOLR node and all sub nodes. Hence this function prints the parse tree which is as returned by solr_parser_result.
| SOLR_parser solr_parser_create | ( | void | ) |
creates a SOLR parser.
Returns SOLR parser or NULL if parser could not be created.
| void solr_parser_destroy | ( | SOLR_parser | cp | ) |
destroys a SOLR parser.
| cp | SOLR parser |
This function does nothing if NULL if received.
|
read |
returns the parse tree of the most recently parsed SOLR query.
| cp | SOLR parser |
| int solr_parser_stdio | ( | SOLR_parser | cp, |
| FILE * | f | ||
| ) |
parses SOLR query (from FILE)
| cp | SOLR parser |
| f | file where query is read from |
| 0 | success |
| !=0 | failure |
This function is similar to solr_parser_string but reads from stdio FILE handle instead.
| int solr_parser_stream | ( | SOLR_parser | cp, |
| int(*)(void *client_data) | getbyte, | ||
| void(*)(int b, void *client_data) | ungetbyte, | ||
| void * | client_data | ||
| ) |
parses SOLR query (query stream)
| cp | SOLR parser |
| getbyte | function which reads one character from stream |
| ungetbyte | function which unreads one character from stream |
| client_data | data to be passed to stream functions |
| 0 | success |
| !=0 | failure |
This function is similar to solr_parser_string but takes a functions to read each query character from a stream.
The functions pointers getbytes, ungetbyte are similar to that known from stdios getc, ungetc.
| int solr_parser_string | ( | SOLR_parser | cp, |
| const char * | str | ||
| ) |
parses a SOLR query (string)
| cp | SOLR parser |
| str | SOLR string |
| 0 | success |
| !=0 | failure |
| int solr_strcmp | ( | const char * | s1, |
| const char * | s2 | ||
| ) |
compares two SOLR strings (ala strcmp)
| s1 | string 1 |
| s2 | string 2 |
Definition at line 45 of file solrtransform.c.
References cql_strcmp().
Referenced by solr_lookup_property(), and solr_transform_r().
| const char* solr_strerror | ( | int | code | ) |
returns the SOLR message corresponding to a given error code.
| code | error code |
| int solr_strncmp | ( | const char * | s1, |
| const char * | s2, | ||
| size_t | n | ||
| ) |
compares two SOLR strings (ala strncmp)
| s1 | string 1 |
| s2 | string 2 |
| n | size |
Definition at line 49 of file solrtransform.c.
References cql_strncmp().
| void solr_to_xml | ( | struct solr_node * | cn, |
| void(*)(const char *buf, void *client_data) | pr, | ||
| void * | client_data | ||
| ) |
converts SOLR tree to XSOLR and writes to user-defined stream
| cn | SOLR node (tree) |
| pr | print function |
| client_data | data to be passed to pr function |
| int solr_to_xml_buf | ( | struct solr_node * | cn, |
| char * | out, | ||
| int | max | ||
| ) |
converts SOLR tree to XSOLR and writes result to buffer
| cn | SOLR node (tree) |
| out | buffer |
| max | size of buffer (max chars to write) |
| void solr_to_xml_stdio | ( | struct solr_node * | cn, |
| FILE * | f | ||
| ) |
converts SOLR tree to XSOLR and writes to file
| cn | SOLR node (tree) |
| f | file handle |
| int solr_transform | ( | solr_transform_t | ct, |
| struct solr_node * | cn, | ||
| void(*)(const char *buf, void *client_data) | pr, | ||
| void * | client_data | ||
| ) |
tranforms PQF given a SOLR tree
| ct | SOLR transform handle |
| cn | SOLR node tree |
| pr | print function |
| client_data | data to be passed to pr |
| 0 | success |
| != | 0 error |
The result is written to a user-defined stream.
Definition at line 907 of file solrtransform.c.
References solr_transform_t_::addinfo, solr_transform_t_::entry, solr_transform_t_::error, solr_prop_entry::next, nmem_create(), nmem_destroy(), solr_transform_r(), and xfree.
Referenced by solr_transform_buf(), and solr_transform_FILE().
| int solr_transform_buf | ( | solr_transform_t | ct, |
| struct solr_node * | cn, | ||
| char * | out, | ||
| int | max | ||
| ) |
transforms PQF given a SOLR tree (from FILE)
| ct | SOLR transform handle |
| cn | SOLR tree |
| out | buffer for output |
| max | maximum bytes for output (size of buffer) |
| 0 | success |
| !=0 | failure (error code) |
Definition at line 939 of file solrtransform.c.
References solr_transform_t_::addinfo, solr_buf_write_info::buf, cql_buf_write_handler(), solr_transform_t_::error, solr_buf_write_info::max, solr_buf_write_info::off, solr_transform(), xstrdup, and YAZ_SRW_TOO_MANY_CHARS_IN_QUERY.
| void solr_transform_close | ( | solr_transform_t | ct | ) |
destroys a SOLR transform handle
| ct | SOLR transform handle |
Definition at line 278 of file solrtransform.c.
References solr_transform_t_::addinfo, solr_transform_t_::entry, solr_prop_entry::next, solr_transform_t_::nmem, nmem_destroy(), solr_prop_entry::pattern, solr_transform_t_::tok_cfg, solr_prop_entry::value, solr_transform_t_::w, wrbuf_destroy(), xfree, and yaz_tok_cfg_destroy().
Referenced by solr_transform_open_FILE().
| solr_transform_t solr_transform_create | ( | void | ) |
creates a SOLR transform handle
Definition at line 75 of file solrtransform.c.
References solr_transform_t_::addinfo, solr_transform_t_::entry, solr_transform_t_::error, solr_transform_t_::nmem, nmem_create(), solr_transform_t_::tok_cfg, solr_transform_t_::w, wrbuf_alloc(), xmalloc, and yaz_tok_cfg_create().
Referenced by solr_transform_open_FILE().
| int solr_transform_define_pattern | ( | solr_transform_t | ct, |
| const char * | pattern, | ||
| const char * | value | ||
| ) |
defines SOLR transform pattern
| ct | SOLR transform handle |
| pattern | pattern string |
| value | pattern value |
Definition at line 225 of file solrtransform.c.
References solr_transform_parse_tok_line(), solr_transform_t_::tok_cfg, yaz_tok_cfg_single_tokens(), yaz_tok_parse_buf(), and yaz_tok_parse_destroy().
| int solr_transform_error | ( | solr_transform_t | ct, |
| const char ** | addinfo | ||
| ) |
returns additional information for last transform
| ct | SOLR transform handle |
| addinfo | additional info (result) |
Definition at line 963 of file solrtransform.c.
References solr_transform_t_::addinfo, and solr_transform_t_::error.
| int solr_transform_FILE | ( | solr_transform_t | ct, |
| struct solr_node * | cn, | ||
| FILE * | f | ||
| ) |
transforms PQF given a SOLR tree (from FILE)
| ct | SOLR transform handle |
| cn | SOLR tree |
| f | FILE where output is written |
| 0 | success |
| !=0 | failure (error code) |
The result is written to a file specified by FILE handle (which must be opened for writing.
Definition at line 933 of file solrtransform.c.
References cql_fputs(), and solr_transform().
| solr_transform_t solr_transform_open_FILE | ( | FILE * | f | ) |
creates a SOLR transform handle from am opened file handle
| f | file where transformation spec is read |
The transformation spec is read from a FILE handle which is assumed opened for reading.
Definition at line 236 of file solrtransform.c.
References solr_prop_entry::pattern, solr_transform_close(), solr_transform_create(), solr_transform_parse_tok_line(), solr_transform_t_::tok_cfg, solr_transform_t_::w, wrbuf_rewind(), xfree, xstrdup, yaz_tok_cfg_single_tokens(), YAZ_TOK_EOF, yaz_tok_move(), yaz_tok_parse_buf(), yaz_tok_parse_destroy(), yaz_tok_parse_string(), and YAZ_TOK_STRING.
Referenced by solr_transform_open_fname().
| solr_transform_t solr_transform_open_fname | ( | const char * | fname | ) |
creates a SOLR transform handle from a file
| fname | name of where transformation spec is read |
Definition at line 299 of file solrtransform.c.
References solr_transform_open_FILE().
| void solr_transform_set_error | ( | solr_transform_t | ct, |
| int | error, | ||
| const char * | addinfo | ||
| ) |
sets error and addinfo for transform
| ct | SOLR transform handle |
| error | error code |
| addinfo | additional info |
Definition at line 969 of file solrtransform.c.
References solr_transform_t_::addinfo, solr_transform_t_::error, xfree, and xstrdup.
Referenced by rpn2solr_attr(), rpn2solr_simple(), rpn2solr_structure(), and solr_transform_rpn2solr_stream().
| const char* solr_uri | ( | void | ) |
returns the standard SOLR context set URI.
Definition at line 54 of file solrtransform.c.
Referenced by solr_transform_r().
1.8.1.2