Google proved that on the Web, search is the killer app. I think it’s a killer app for databases, too, and one that’s been egregiously absent from traditional database and spreadsheet products. In Oracle or Microsoft Access, for example, searching just doesn’t exist. A technical user can build a structured query, but they can’t search like they would at Google: type in Bob Johnson and instantly find all relevant data. If you think about what the Web would be like without search engines, you’ll realize what an amazing indictment of ordinary databases this represents.
Microsoft Excel, which is the world’s most widely-used de facto database, is hardly better. Search on Bob Johnson in Excel and you’ll be forced to hop from cell to cell, one at a time, among cells that contain Bob and Johnson right next to each other. If Bob is in the First Name column and Johnson is in the Last Name column – a pretty common way to organize data in a spreadsheet – you’re out of luck. Excel won’t find it.
TrackVia has always had a great search feature. It’s dirt simple, wicked fast, and smart. It will find all records in your data that are relevant to Bob Johnson, regardless of how those terms are structured in a data record (first name, last name, description, address, or some combination thereof). The results are cleanly displayed with yellow highlighting showing immediately why each record was a match.
Yet, we’ve had a cadre of customers who have been bugging us to make a good thing better. So this week we upgraded our search feature. It remains dirt simple and wicked fast, but it got smarter. While still automatically doing the right thing with common-sense requests, as when searching a product database for large red widget, it now has bells and whistles that make it more like the best Internet search engines. These include:
- Phrases: Quotation marks, as in “New York” instead of New York, indicate that the terms must appear together.
- Exact match: An equal sign, as in =Rob instead of Rob, will only return records with an exact match (i.e. Rob, but not Robert).
- Negative match: A minus sign, as in white sox –red, means a term (i.e. red) must not appear in a record.
- Dates: You can now search date and time fields with expressions like Oct 23, 2007 or simply February.
- Empty fields: Searching on (none) will return records with blank fields.
- Specific fields: Putting a field name before a term, as in first_name:Wilson, limits the search for that term to that one field.
You can also combine the above tricks to create powerful ad-hoc queries. For example, searching your food database for type=dessert apple -pie would return (presumably) apple cobbler, apple cake, and apple tarts. Here at TrackVia, we can compare the growth of our business this year versus last by doing two quick searches on our customer database – purchased:“June 2007” and purchased:“June 2008” – and comparing the number of results. Is it just me, or is that pretty neat?
Finally, you can now also explicitly search on the change notes, comments, and attachment names that are displayed in the History section of every TrackVia record. This means you can search the conversations and context around data records that represent business processes or workflow.
In my humble opinion, these upgrades make TrackVia the most searchable database ever built — and that’s a big deal. If you disagree, please let me know in the comments or directly by email!