Multiple Source Your Search Engine Using XML
C. Daniel Chase
The University of Tennessee at Chattanooga
The Process
- Choose What you want to search
- Research the APIs available to access the data
- Get your tools together
- Pick one easy source to start with
- Make an easy success by testing with GET query strings
The Process
- Build a form to create the query string
- Design the XSL to do your layout
- One down... add another!
- Wrap them all in a template
Useful Sources of Data
- Personnel directory
- Expert source directory for University Relations
- Database of departmental units
- Database of web sites
- Old-fashioned web search engine
Choosing Sources
- If you have ever had to search for it...
- It's available electronically...
- It's public information
The APIs
- LDAP has tools available in many languages
- Databases use well-known SQL interface
- Ultraseek has an XML API: saquery.xml
- QuickFinder comes with XML template
The Tools
- The hammer--PHP 5
- XSL Extensions enabled
- Our's custom compiled
- MySQL
- eDirectory
The first attempt--Ultraseek
- Build a test query string
- http://search.tennessee.edu/saquery.xml?qt=university+relations
- XML Results
- That was easy!
Create Form to Submit Query
Create the XSL for the Output
- Think one step at a time...
- Repeatable blocks...
- Override XSL defaults
- The final XSL for Ultraseek
- The tricks of EXSLT for date-timestamps & string splitting
- Our site will use Novell QuckFinder for web search results
- The live form
That was easy! Let's do another!
- Once you have the XML-XSL processing down, adding data sources is easy
- Learn to think in XML
- Visualize the structure of your data
- Think in repeatable blocks
- Build you XML using DOM or SimpleXML objects if using PHP
Our other data sources
- LDAP to personnel directory
- LDAP to expertise information
- MySQL to department directory data
- MySQL to registered web site directory
Questions?
- Next time...
- Object Oriented
- Plan more...
- Do it right from the begiining!