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/%");
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]