Searching without Verity
Sometimes you need to search a database query without using verity. In general Verity should be used when possible, because it will yeild much better results, at better performance than the solution I'm about to show. But there are reasons for not using verity, for instance compatibility with BlueDragon, a highly customized search query, or a shared host that doesn't allow it.
Single keyword searches are easy using the LIKE operator in SQL
WHERE column LIKE '%something%'. If you need to search using multiple keywords, its a harder. Here's an exmple
SELECT stuff FROM table WHERE column LIKE '%#Replace(Trim(q), " ", "%' OR column LIKE '%", "ALL")#%'
column would be the database field your searching and
q would be your search string. Basically that code replaces all spaces with:
%' OR column like '%
So if your search string is "Monday Tuesday" the resulting query would be:
WHERE column LIKE '%Monday%' OR column LIKE '%Tuesday%'
You can ofcourse easily replace the OR with an AND, or use a variable.
- CFSummit 2016 Slides
- Securing Legacy CFML - dev.Objective() 2016 Slides
- My CFSummit 2015 Slide Decks
- Adding Chrome Custom Search for CFDocs
- Disable Flash Remoting on ColdFusion Servers
- HackMyCF Adds SSL/TLS Scanner
- IncompatibleClassChangeError after ColdFusion 11 Update 5
- Scope Injection in CFML