views:

56

answers:

4

Im not a developer (not a proper one) but always up for an excuse for self-development.

I work in a support team for a reputable software vendor, and we currently use a helpdesk piece of software called iSupport. - Its not a bad piece of kit, and im not sure if it has been set up badly (trying to find out) but the biggest problem I face (being on the front line as an analyst who uses it 8hrs a day) is its inability to easily search.

A new 'incident' will come in. Client will report some errors in a log, perhaps mention some other keywords when describing his symptoms. Now I know, I have probably answered a similar problem before (but cant remember the solution) or even more likely, a fellow-analyst may have answered the same question before.

I would like to have the ability to have one search box (think Google) that searches through EVERY incident that has ever been created and return me ALL incidents that contain that keyword.

At the moment the search is very poor - You can take time to set up searches and specify which fields you want to search on, which values to filter by (perhaps by an analyst or category, etc) but this takes time and more often than not, it returns poor results and it would have been easier to try and track it down yourself manually.

All of the data sits in underlying SQL Server tables (have requested a subset of the data).

What im thinking, is creating a separate front-end that is just a basic search box and thats it. This app will point to all the relevant fields in the SQL tables and pull out the relevant records into a table. Once I have the ID for the incident, it is then a simple job to pull out that incident back in the iSupport front end.

I was thinking along the lines of Google Desktop style app (shortcut key brings up the search box).

Now thats as much thinking as ive done. Looking for some advice on where to go next. I know for instance, that Google Desktop crawls and indexes all your physical files on your machine. Would I have to do something similar for a database as I imagine there maybe a large number of records/fields/tables to search through.

TBH, if it works, im not that fussed (to begin with) if it takes awhile to process the query, as long as it returns relevant results. But ideally id like it to be quick.

Ill leave it at that for now. Where should I begin?

A: 

I'd suggest this might be a good candidate for a web application - an asp.net / jsf website. This means that you can control it from one machine, but all your colleagues can make use of it without a deployment headache every time you add a new feature...

The incident database is mission critical (critical to your relationship with customers), so if you came to me with this request I would insist that you accessed the database through a user that had select permissions to the appropriate tables, and very little else. This from your point of view is a good thing too - let's you operate knowing you're not going to cock anything up...

Martin Milan
A: 

The SSMS Tool Pack (an add-in to Management Studio) contains a feature to search Table, View or Database Data.

Mitch Wheat
A: 

Have a look into the Full-Text Search functionality of SQL Server.

AdaTheDev
...if it's installed....
Mitch Wheat
@Mitch Wheat - good point!
AdaTheDev
+1  A: 

If .NET is your thing, then Lucene.NET will work well with SQL Server to give you that google search feeling.

The StackOverflow websites use it, you can listen to the SO Podcast where Jeff/Joel bitch about why SQL Server full-text search sucks so much.

Nick Kavadias