Good Morning! I know I'm close here... but I'm having a few problems trying to get my search engine to index my static pages. The code below works... but I need to evolve it to do two more things, and I can't find anything through google/macromedia forums.
My questions: How can I evolve my code so it will not only index the
directory specified, but it will index all of the subdirectories of that
directory? AND how can I index more than one directory? Is there a way
to do that without just duplicating my entire loop?
My code is pasted below. Thank you!!
--
Jillian
*** *** ***
<!---Form Proccessing--->
<cfif isdefined("Form.Action")>
<cfswitch expression="#Form.Action#">
<cfcase value="Update">
<cfquery name="delete_existing"
datasource="#DSN#">
DELETE from indexedpages
</cfquery>
<!--- This variable will hold all the
files found --->
<cfset FileList = "">
<!--- Note that filter is optional for
"mixed" sites --->
<!--- This loop collects all the files
into one list --->
<cfloop list="#Form.DirList#" index=Dir>
<CFDIRECTORY ACTION="list"
DIRECTORY="#Dir#"
NAME="IndexList">
<cfoutput query="IndexList">
<cfif IndexList.type is
"file">
<cfset FileList
= listappend(FileList,Dir&IndexList.name)>
</cfif>
</cfoutput>
</cfloop>
<!---This loop reads/parses and inserts
each file--->
<cfloop list="#FileList#" index="File">
<cffile action="read"
file="#File#" variable="ParseMe">
<cfset Title="Untitled">
<!---Fetch Title--->
<cfif
REFindNoCase("<h[0-9]",ParseMe,1) is not 0>
<cfset
start=find(">",ParseMe,REFindNoCase("<h[0-9]",ParseMe,1)) + 1>
<cfset
end=find("<",ParseMe,start)>
<cfset length = end -
start>
<cfset
title=mid(ParseMe,start,length)>
</cfif>
<!---Remove Common tags--->
<cfset ParseMe =
REReplaceNoCase(ParseMe,"<[^>]*>","","all")>
<!---Remove Noise Words--->
<cfset NoiseWords =
"a,an,and,at,as,are,all,be,but,by,can,do,for,get,got,here,I,if,it,is,in,
like,may,
not,our,or,of,on,that,then,the,they,there,to,which,we,you,your">
<cfloop list="#NoiseWords#"
index="Noise">
<cfset ParseMe =
REReplaceNoCase(ParseMe,"[[:space:]]#Noise#[[:space:]]"," ","all")>
</cfloop>
<!---Remove Extra Space--->
<cfloop from="1" to="10"
index="loop">
<cfset ParseMe =
REReplaceNoCase(ParseMe,"[[:space:]]+[[:space:]]"," ","all")>
</cfloop>
<!---Resolve Web Root--->
<cfset WebPath=
ReplaceNoCase(File,Form.SitePathRoot,Form.SiteWebRoot,"all")>
<cfset WebPath=
ReplaceNoCase(WebPath,"\","/","all")>
<!---Insert Into Dbase--->
<cftry>
<cfquery
name="insert_pages" datasource='#DSN#'>
INSERT into indexedpages
(
webpath,
filepath,
title,
contents
)
VALUES (
'#WebPath#',
'#File#',
'#Title#',
'#ParseMe#'
)
</cfquery>
<cfcatch
type='Database'>
<cfoutput>
Database
error for:
<br
/>file:<b>#Title#</b>
<br
/>file:<b>#File#</b>
<br
/>file:<b>#WebPath#</b>
<br />
</cfoutput>
</cfcatch>
</cftry>
<!---End of File loop--->
</cfloop>
<!---Update the collection--->
<cfquery datasource="#DSN#"
name="getContents">
SELECT id,
webpath,
filepath,
title,
contents
FROM indexedpages
</cfquery>
<cftry>
<cfindex
action="update"
collection="epipages"
query="getContents"
key="ID"
title="title"
type="Custom"
body="Contents"
custom1="WebPath">
<cfcatch type="any">
<br />Sorry, an error occurred
while trying to update your collection. Check that the collection
exists.
</cfcatch>
</cftry>
<!---End of Update Case--->
<br />Collection has been updated successfully.
</cfcase>
</cfswitch>
</cfif>
<!--- Action Form --->
<cfoutput>
<form action="#ThisFileName#" method="post">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td>List of Directories to Index:</td>
<td><input type="text" size=50
name="DirList" value="/data/aliases/epi/pdfshadow/"></td>
</tr>
<tr>
<td>
File Path to Site Root:
<br />(Trailing slashes are required)
</td>
<td valign="top"><input type="text" size=50
name="SitePathRoot" value="/data/aliases/epi/pdfshadow/"></td>
</tr>
<tr>
<td>
URL Path to Site Root:
<br />(ie http://www.yoursite.com/)
<br />(Trailing slashes are required)
</td>
<td valign="top"><input type="text" size=50
name="SiteWebRoot" value="http://epidev.lights.com/"></td>
</tr>
<tr>
<td colspan="2"><input type="submit"
name="action" value="Update"></td>
</tr>
</table>
</form>
</cfoutput>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription:
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
This list and all House of Fusion resources hosted by CFHosting.com. The place for
dependable ColdFusion Hosting.
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

