Using the new Sitecore contentsearch api allows you search against a lucene index with very little effort. Examples are a bit short on the ground but using Linq you can find yourself doing something like this to search for an item by name, somewhere within a folder structure:
public void BadSearch(string searchTerm) { var webIndex = ContentSearchManager.GetIndex("sitecore_web_index"); using (var context = webIndex.CreateSearchContext()) { var results = context.GetQueryable<SearchResultItem>().Where(i => i.Name == searchTerm && i.Path.StartsWith("sitecore/content/stuff/")); // don't do this! } }
This may well work. However you may also run into a Lucene error stating that you are using too many clauses, the default limit is 1024.