Instead of placing an engine on the site that just allows visitors to perform a simple one word or phrase search, I need a way for visitors to select criteria from a list we provide and then be shown a list of topics (pages) that meet all of the criteria they have selected. So if a visitors sees a list of widget attributes and selects blue, size 8 and under $10, they are given a list of all pages that have size 8 blue widgets under $10. Can this be easily done?
This would depend on the content management system you are currently using (if you use one) What you may want to have a look into is using mysql "Select by". In order to use this feature of mysql you would need to populate your database with all the relevant information. For example you may have an item in your DB something like this...
id=1 price=10 colour=red weight=100 etc etc
you could then use mysql select to allow your users to provide more information within the search box, or even use an "order by" link within the results.
select from 'Products' where Colour = 'red' and price = '10'
You couch then sort by colour using something like...
select * from Products where colour = 'red'
Hope this gives you some ideas and points you in the right direction.