cvs: php4 /ext/mnogosearch php_mnogo.c test.php

From: Date: Tue, 20 Feb 2001 11:29:15 +0000
Subject: cvs: php4 /ext/mnogosearch php_mnogo.c test.php
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-4137@lists.php.net to get a copy of this message
gluke Tue Feb 20 03:29:15 2001 EDT Modified files: /php4/ext/mnogosearch php_mnogo.c test.php Log: Phrase search support has been added to mnogosearch extenstion. Min_word_len and Max_word_len support has been added to mnogosearch extension. Example updated. Index: php4/ext/mnogosearch/php_mnogo.c diff -u php4/ext/mnogosearch/php_mnogo.c:1.15 php4/ext/mnogosearch/php_mnogo.c:1.16 --- php4/ext/mnogosearch/php_mnogo.c:1.15 Thu Feb 15 03:50:48 2001 +++ php4/ext/mnogosearch/php_mnogo.c Tue Feb 20 03:29:15 2001 @@ -1,5 +1,5 @@ /* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.c,v $ */ -/* $Id: php_mnogo.c,v 1.15 2001/02/15 11:50:48 gluke Exp $ */ +/* $Id: php_mnogo.c,v 1.16 2001/02/20 11:29:15 gluke Exp $ */ /* +----------------------------------------------------------------------+ @@ -54,6 +54,9 @@ #define UDM_PARAM_STOPFILE 8 #define UDM_PARAM_WEIGHT_FACTOR 9 #define UDM_PARAM_WORD_MATCH 10 +#define UDM_PARAM_PHRASE_MODE 11 +#define UDM_PARAM_MIN_WORD_LEN 12 +#define UDM_PARAM_MAX_WORD_LEN 13 /* udm_add_search_limit constants */ #define UDM_LIMIT_URL 1 @@ -65,6 +68,10 @@ #define UDM_TRACK_ENABLED 1 #define UDM_TRACK_DISABLED 0 +/* phrase modes */ +#define UDM_PHRASE_ENABLED 1 +#define UDM_PHRASE_DISABLED 0 + /* udm_get_res_param constants */ #define UDM_PARAM_NUM_ROWS 256 #define UDM_PARAM_FOUND 257 @@ -160,6 +167,11 @@ REGISTER_LONG_CONSTANT("UDM_PARAM_STOP_FILE", UDM_PARAM_STOPFILE,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_PARAM_WEIGHT_FACTOR",UDM_PARAM_WEIGHT_FACTOR,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_PARAM_WORD_MATCH", UDM_PARAM_WORD_MATCH,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_PHRASE_MODE", UDM_PARAM_PHRASE_MODE,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_MAX_WORD_LEN",UDM_PARAM_MAX_WORD_LEN,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_MAX_WORDLEN",UDM_PARAM_MAX_WORD_LEN,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_MIN_WORD_LEN",UDM_PARAM_MIN_WORD_LEN,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_MIN_WORDLEN",UDM_PARAM_MIN_WORD_LEN,CONST_CS | CONST_PERSISTENT); /* udm_add_search_limit constants */ REGISTER_LONG_CONSTANT("UDM_LIMIT_CAT", UDM_LIMIT_CAT,CONST_CS | CONST_PERSISTENT); @@ -181,6 +193,7 @@ REGISTER_LONG_CONSTANT("UDM_MODE_ALL", UDM_MODE_ALL,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_MODE_ANY", UDM_MODE_ANY,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_MODE_BOOL", UDM_MODE_BOOL,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_MODE_PHRASE", UDM_MODE_PHRASE,CONST_CS | CONST_PERSISTENT); /* search cache params */ REGISTER_LONG_CONSTANT("UDM_CACHE_ENABLED", UDM_CACHE_ENABLED,CONST_CS | CONST_PERSISTENT); @@ -190,6 +203,10 @@ REGISTER_LONG_CONSTANT("UDM_TRACK_ENABLED", UDM_TRACK_ENABLED,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_TRACK_DISABLED", UDM_TRACK_DISABLED,CONST_CS | CONST_PERSISTENT); + /* phrase mode params */ + REGISTER_LONG_CONSTANT("UDM_PHRASE_ENABLED", UDM_PHRASE_ENABLED,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PHRASE_DISABLED", UDM_PHRASE_DISABLED,CONST_CS | CONST_PERSISTENT); + /* word match mode params */ REGISTER_LONG_CONSTANT("UDM_MATCH_WORD", UDM_MATCH_WORD,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_MATCH_BEGIN", UDM_MATCH_BEGIN,CONST_CS | CONST_PERSISTENT); @@ -333,6 +350,10 @@ case UDM_MODE_BOOL: Agent->search_mode=UDM_MODE_BOOL; break; + + case UDM_MODE_PHRASE: + Agent->search_mode=UDM_MODE_PHRASE; + break; default: php_error(E_WARNING,"Udm_Set_Agent_Param: Unknown search mode"); @@ -404,7 +425,25 @@ } break; + + case UDM_PARAM_PHRASE_MODE: + switch (atoi(val)){ + case UDM_PHRASE_ENABLED: + Agent->Conf->use_phrases=UDM_PHRASE_ENABLED; + break; + + case UDM_PHRASE_DISABLED: + Agent->Conf->use_phrases=UDM_PHRASE_DISABLED; + break; + + default: + php_error(E_WARNING,"Udm_Set_Agent_Param: Unknown phrase mode"); + RETURN_FALSE; + break; + } + break; + case UDM_PARAM_CHARSET: Agent->Conf->local_charset=UdmGetCharset(val); Agent->charset=Agent->Conf->local_charset; @@ -427,6 +466,16 @@ case UDM_PARAM_WEIGHT_FACTOR: Agent->weight_factor=strdup(val); + + break; + + case UDM_PARAM_MIN_WORD_LEN: + Agent->Conf->min_word_len=atoi(val); + + break; + + case UDM_PARAM_MAX_WORD_LEN: + Agent->Conf->max_word_len=atoi(val); break; Index: php4/ext/mnogosearch/test.php diff -u php4/ext/mnogosearch/test.php:1.11 php4/ext/mnogosearch/test.php:1.12 --- php4/ext/mnogosearch/test.php:1.11 Thu Feb 15 03:50:48 2001 +++ php4/ext/mnogosearch/test.php Tue Feb 20 03:29:15 2001 @@ -1,13 +1,13 @@ <!-- $Source: /local/repository/php4/ext/mnogosearch/test.php,v $ - $Id: test.php,v 1.11 2001/02/15 11:50:48 gluke Exp $ + $Id: test.php,v 1.12 2001/02/20 11:29:15 gluke Exp $ --> <html> <body> <form method=post> -<input type=text size=30 name=q value="<? echo $q; ?>"> +<input type=text size=30 name=q value="<? echo htmlspecialchars(stripslashes($q)); ?>"> <input type=submit value=" Search ! "> </form> @@ -39,6 +39,9 @@ // Udm_Set_Agent_Param($udm,UDM_PARAM_STOPFILE,"stop.txt"); Udm_Set_Agent_Param($udm,UDM_PARAM_WEIGHT_FACTOR,"F9421"); Udm_Set_Agent_Param($udm,UDM_PARAM_WORD_MATCH,UDM_MATCH_SUBSTR); + Udm_Set_Agent_Param($udm,UDM_PARAM_PHRASE_MODE,UDM_PHRASE_DISABLED); + Udm_Set_Agent_Param($udm,UDM_PARAM_MIN_WORD_LEN,2); + Udm_Set_Agent_Param($udm,UDM_PARAM_MAX_WORD_LEN,5); // Stage 3: add search limits // Udm_Add_Search_Limit($udm,UDM_LIMIT_URL,"http://www.mydomain.com/%");

« previous php.cvs (#4137) next »