Well yesterday and today of all things, I am working on re-thinking my companies site search functionality.
For which we are using SQL Server 2000's fulltext capability, I have been exploring and tweaking for the last 2 years. I thoroughly enjoy attempting to configure it right.
There are so many ways to go wrong.
1. What are the customer's looking for?
2. Where's the data that's most likely to have the best pointer to the correct results?
3. How do I display results, and tools, and aids, to help the customer in case of difficulties, or just to make sure the search is usable.
My two search bibles, which I will never part even in death, are:
E-Commerce User Experience, Search Section/Chapter written by Nielsen Norman Group for which we know the most about the author, Jakob Nielsen, Usability Guru.
Then there is this color pdf from Cognetics, on Search Interfaces for Information Portals.
Also I still love Kristoffer Bohmann's article on Effective Search Results
In this deadly art of search design/development, we few mortals must dare to solve two main riddles.
1. How the heck can i find what the customer is looking for??
2. How should I display the results back.
Well yesterday to today, I've been working on question or battle #1.
Figuring out how to hack the data.
In our case we are searching 3 different ways, and then pre-determining the rank multiplier value for each, as well as a new feature I am adding called Rank Drop Off.
Rank Drop Off means, I got too much wanking results, and who's really going browse thru 30 pages of results. So to help eliminate the flock from the schlock, on the fly I determine the ranking percentages, and then drop off, anything below a certain percentage.
Now of the results, that come back, I am want to make sure no duplicates occur. Unfortunately we have product groupings that have the same title, (another item on my wishlist for cleanup), so I created a sql view to help give me only unique, active and searchable product groupings.
I also have to grab the top rank value of the first row, and use that to on the fly calculate a percentage of that ranking value for all the rest of the records.
I had to bring out my trusty rusty handy dandy The Guru's Guide to Transact-SQL, to look up joins, subqueries, all that funky stuff. That we in the Blue's Clues sql training class have learned.
So day later, I have all the layout, design, different modes, and yet I can not counter the PLURALS!!!
OH OH OH!!!
It could be the end of world, for us, stay tuned, as we find out what happened to the DEADLY PLURALS!!!!
Anyways, I can't get the freaking plurals to work.
I say table, hoping to get table and tables back.
freetexttable (product_groupings, title, '#filter#',80)
I have tried putting it in quotes, adding an * before and after.
I know there is an inflectional mode if you use a different method other than freetexttable, but freetextable has the rankings I need.
Plus there is just too much data, to hand-code a synonym or plurals table.
Do you oh wise wizards of Blue's Clues, have any ideas or suggestions.
That is beside the old "Jump off a cliff, Craig!".
Which is in my employment contract to not do, on thursdays! Especially in summer.
Anyways, that's my brain in a jar.