30 int server_choice = 1;
51 return "solr.serverChoice";
129 if (strcmp(index,
"solr.serverChoice"))
134 if (!strcmp(relation,
"exact"))
137 else if (!strcmp(relation,
"eq"))
139 else if (!strcmp(relation,
"le")) {
145 else if (!strcmp(relation,
"ge")) {
160 if (strcmp(structure,
"*"))
195 #define SOLR_SPECIAL "+-&|!(){}[]^\"~*?:\\"
198 void (*pr)(
const char *buf,
void *client_data),
212 const char *sterm = 0;
219 if (trunc == 0 || trunc == 1 || trunc == 100 || trunc == 104)
237 lterm = strlen(sterm);
249 for (i = 0 ; i < lterm; i++)
254 for (i = 0 ; i < lterm; i++)
256 if (sterm[i] ==
'\\' && i < lterm - 1)
263 else if (sterm[i] ==
'?' && trunc == 104)
267 else if (sterm[i] ==
'#' && trunc == 104)
292 void (*pr)(
const char *buf,
void *client_data),
305 pr(
"(", client_data);
313 pr(
" AND ", client_data);
316 pr(
" OR ", client_data);
319 pr(
" AND NOT ", client_data);
327 pr(
")", client_data);
333 void (*pr)(
const char *buf,
void *client_data),