Thursday, June 17, 2004

Plurals, where's my plurals??

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.

Such as:

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!!!


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.

1 comment:

  1. Anonymous5:31 PM

    I've been up and down the path of building search functionality on quite a number of sites. I've found that by far the best approach is to ensure that your content is well organized and that you have links to related topics on pretty much every page.

    Then use google search to allow people to use the finest search technology around to search your site. Once they get to the page that google thinks is most relevant your organized content and related links should take care of the rest.

    It also doesn't hurt to make it clear to people that they will be using google to search the site. Google has such a stellar reputation that people will almost certainly use the search, and will most likely find what they are looking for.

    Depending on what type of site you have, there are a number of options for how to use google.

    Info about their offerings is available at