I effectively use a form term, too, except I modify the term submitted in
the form to: (1) Remove noise words (since SQL7 doesn't do it as
advertised) (2) Automate proximity matching, and (3) enable wildcard searches:
best, paul
==================================
<!--- Pound down spaces to 1 between words & replace with "~" to enable
proximity matching -- Will handle up to 9 spaces in a row --->
<CFSET VARIABLES.SEARCHTERM = REREPLACE(VARIABLES.SEARCHTERM," "," ","ALL")>
<CFSET VARIABLES.SEARCHTERM = REREPLACE(VARIABLES.SEARCHTERM," "," ","ALL")>
<CFSET VARIABLES.SEARCHTERM = REREPLACE(VARIABLES.SEARCHTERM," "," ","ALL")>
<CFIF REFINDNOCASE(" ","#VARIABLES.SEARCHTERM#")>
<CFSET VARIABLES_SEARCHTERM = REREPLACE(VARIABLES.SEARCHTERM,"
","~","ALL")>
<CFELSE>
<CFSET VARIABLES_SEARCHTERM = VARIABLES.SEARCHTERM>
</CFIF>
<!--- Remove Noise words --->
<CFIF LISTLEN(VARIABLES_SEARCHTERM,"~") GT 1>
<CFLOOP LIST="#VARIABLES_SEARCHTERM#" INDEX="III" DELIMITERS="~">
<CFQUERY NAME="RemoveNoise" DATASOURCE="#REQUEST.DSN#"
USERNAME="#REQUEST.USER#" PASSWORD="#REQUEST.PASS#">
SELECT N_Word FROM NoiseWords
WHERE N_Word = '#III#'
</CFQUERY>
<CFIF REMOVENOISE.RECORDCOUNT>
<CFSET VARIABLES_SEARCHTERM =
LISTDELETEAT(VARIABLES_SEARCHTERM,LISTFINDNOCASE(VARIABLES_SEARCHTERM,III,"~"),"~")>
</CFIF>
</CFLOOP>
<CFIF LISTLEN(VARIABLES_SEARCHTERM,"~") IS 0>
<CFLOCATION ADDTOKEN="No"
URL="/IgnoredWords/index.cfm/IN.#VARIABLES.INIT#/CD.#URL.CFID#/CN.#URL.CFTOKEN#">
</CFIF>
</CFIF>
<!--- Automate Wildcard searches --->
<CFIF FIND("~",VARIABLES_SEARCHTERM)>
<CFLOOP LIST="#VARIABLES_SEARCHTERM#" INDEX="III" DELIMITERS="~">
<CFIF RIGHT(III,1) IS "*">
<CFSET VARIABLES_SEARCHTERM =
ListSetAt(VARIABLES_SEARCHTERM,LISTFINDNOCASE(VARIABLES_SEARCHTERM,III,"~"),"
""#III#"" ","~")>
</CFIF>
</CFLOOP>
<CFELSE>
<CFIF RIGHT(VARIABLES_SEARCHTERM,1) IS "*">
<CFSET VARIABLES_SEARCHTERM = " ""#VARIABLES_SEARCHTERM#"" ">
</CFIF>
</CFIF>
=======================
best, paul
At 01:47 PM 11/22/00 -0500, you wrote:
>You will have to use OR to do multiple 'CONTAINS' searches (to the best of
>my knowledge). I usually use it with syntax like: WHERE db_fieldname
>CONTAINS ('form.searchparam'), myself.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists