|
Data Structures |
struct | searchm_nodeelem |
| node elements of a list. More...
|
struct | searchm_metaelem |
| A metaname element in the meta list. More...
|
struct | searchm_metalist |
| The meta list. More...
|
Functions |
int | searchm_nullstrcmp (const char *const t1, const char *const t2, const int bCase) |
| compares t1 and t2, allowing for t1 and/or t2 to be NULL. if t1 and t2 are NULL, strings are considered equal The NULL string is considered less than a non NULL string. return: 0 strings are equal 1 strings are not equal
|
apr_status_t | searchm_metalist_process (p_query_info_t p_qi) |
| called during results phase to create the meta list
|
apr_status_t | searchm_subquery_process (p_searchm_metalist_t const p_ml, const char **sl, unsigned int *index_sl, const char *meta_def, apr_pool_t *p) |
| process a Swish-e subquery (as opposed to a searchm sub-query)
|
searchm_termtype_e | searchm_gettermtype (const char *t) |
| determines a term type.
|
searchm_termtype_e | searchm_conjtype (const char *const t) |
| Determines if t is a conjunction. Case is irrelevant.
|
apr_status_t | searchm_addterm (p_searchm_metalist_t p_ml, const char **sl, int *index_sl, const char *m, int bP, int nterms, apr_pool_t *p) |
apr_status_t | searchm_metalist_add (p_searchm_metalist_t const p_ml, const char *mn, p_searchm_metaelem_t *pp_me, apr_pool_t *p) |
p_searchm_metaelem_t | searchm_metalist_get (p_searchm_metalist_t p_ml, const char *mn, int *bFound) |
apr_status_t | searchm_nodelist_add (p_searchm_metaelem_t const p_me, const char **sl, int *index_sl, int bP, int nterms, apr_pool_t *p) |
| adds the term(s) at index_sl in sl to nodelist of me. me->l may be null. if nterms==1, then in phrase with one term. When added to nodelist, will become a single term, with phrase distinction lost. return:
|
void | searchm_metalist_destroy (p_searchm_metalist_t const p_ml) |
| destroys the metalist.
|
apr_status_t | searchm_nodelist_match (p_searchm_metaelem_t const p_me, const char **sl, const int index_sl, const int bP, const int nterms, int *bFound, apr_pool_t *p) |
apr_status_t | searchm_phrase_match (p_searchm_metaelem_t const p_me, const char **sl, const int index_sl, const int bP, const int nterms, int *bResult, apr_pool_t *p) |
| Checks if this phrase at ls[index_sl] is a match of an existing phrase in nodelist. If an existing phrase may be modified to match this phrase, it is modified, and match is successful. A match: If each term of a phrase is exaclty equal. Ex: "jack and jill" matches "jack and jill" If each term in phrase matches, with swap if necessary, match. Ex: "ja* and ji*" match "jack and jill" Ex: "jack and jill" match "ja* and ji*", with swap. Ex: "blackja* and ji*" match "ja* and ji*" with swap. If nterms in this phrase is not equal to the the number of terms in match phrase, then assume never equal.
|
apr_status_t | searchm_single_match (const char *t1, const char *t2, const int bWay, int *Result, apr_pool_t *p) |