Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

my team and I are working on a football hub website and we would like to make the in-page search engine as powerful as possible as many uses would like to use search.

Q: Are there any best practice algorithms out there we could adopt?

To achieve better results other than a brute force word match we thought of the following "algorithm":

Ranking of results

Results are ranked by the following criteria:

First ranking

Results are ranked higher if keywords appear in one of the following parts parts of a page:

  1. Title
  2. Abstract
  3. Body text
  4. Tags

(Sorted by importance (high to low) articles/features/news and the like)

Second ranking

Keywords that appear in tags will increase the individual ranking of an result.

Frequency of words

A higher frequency will result in a higher ranking of a result.

Cross references

A page that got referenced from other internal pages will be ranked higher.

Keywords

We also would like to include the following features in our search:

  1. Spell check with suggestions if misspelled
  2. Synonyms for frequently used words
  3. Auto complete search box

Many thanks for all thoughts, replies and links.

Christian

share|improve this question
    
can you give some examples of what you think some typical search queries would look like, and what sort of pages would be returned? This might help give us a sense of how the data is structured. –  Jonathan Jul 6 '11 at 23:27
    
This looks like an IA or programming question as opposed to a UX question. Is that what you intended? If not, try asking on Stack Overflow. –  Rahul Jul 10 '11 at 0:20
    
It may need Date in the algorithm so that articles from 3 years ago don't rank as high as once from 3 days ago. –  JonW Aug 4 '11 at 8:44
add comment

2 Answers

up vote 2 down vote accepted

You're writing everything correct. Except I think that tags may have more importance, than abstract and body text.

But, if you have a football site, so the users search for football mathes or articles. I think it should be great to separate them.

enter image description here

p.s. Sorry for my poor english, tell me if you've found any mistakes. :)

share|improve this answer
add comment

Just so you know Lucene, Lucene.Net, PyLucene, and Solr (whichever technology suits your needs and language) does exactly this through document boosting, or field boosting. Also IDF (Inverse Document Frequency) almost always largely solves this problem (IE: more specific fields are shorter)

Also keep in mind (in the case of American Football) you would have to deal with things like (these terms matching) Forty-Niners = 49'ers - This is why it's nice to use existing search technologies they help you solve these problems more easily.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.