--- src/searchtool.c.orig Fri Feb 16 19:12:22 2001 +++ src/searchtool.c Thu Mar 1 16:22:54 2001 @@ -251,11 +251,16 @@ continue; } len=strlen(rw); - if(UdmIsStopWord(query->Conf,rw)||(query->Conf->min_word_len>len)||(query->Conf->max_word_lenwordinfo[0])strcat(query->wordinfo,", "); - sprintf(UDM_STREND(query->wordinfo)," %s :stopword",rw); - lex=UdmGetLex(&w,&lasttok,query->charset); - continue; + + if(query->word_match==UDM_MATCH_WORD){ + /* Check stopword only when full word */ + /* Substring searches should not exclude them */ + if(UdmIsStopWord(query->Conf,rw)||(query->Conf->min_word_len>len)||(query->Conf->max_word_lenwordinfo[0])strcat(query->wordinfo,", "); + sprintf(UDM_STREND(query->wordinfo)," %s :stopword",rw); + lex=UdmGetLex(&w,&lasttok,query->charset); + continue; + } } if(query->words_in_querywords[query->words_in_query]=strdup(rw);