• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Hibernate Search In Action: Score Building

 
Chandra Bhatt
Ranch Hand
Posts: 1710
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I encountered a scenario say:

User searches for "ipod"; On very beginning of pages instead of "ipod"
product itself, products as ipod case, accessories, blah blah blah comes
that is obviously not desirable.

Of course it depends on various factors as on which attributes indexes have been created and so on. As current logic says the repetition
of term "ipod" in its description and metadata describing "ipod".

My question is if there is an easy interface to update time to time
the scoring factors and add some kind of boosters for some extremely popular
products searched by users. Here I mean customizable scoring.

Does this book cover the scoring factors or leaves it on Lucene to be
handled as it does?

My question may be beyond the scope of Hibernate Search as it seems this is
all talk about Lucene API's and not Hibernate.

We will definitely come to know these all stuffs once "Hibernate Search In
Action" book comes in our hand. It will surely be an interesting material
to read about.
[ December 10, 2008: Message edited by: Chandra Bhatt ]
 
John Griffin
author
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Chandra,

The entire chapter 12 of Hibernate Search in Action is dedicated to document scoring. Not only do we present scoring theory (the Vector Space Model) but also how to change the underlying way scoring is accomplished. We discuss overriding the Similarity class which controls many scoring aspects. We also show you how to write your own Weight and Scorer classes.

In a simpler vein we show you how to set boost factors on various parts of entities and on entities themselves. For example, suppose you have an entity with a product name field and product description field and you set a higher boost value on the name field. Assume you query both fields in an index for "iPod" and the index contains a document with iPod in the name field and another document with "case" in the name field but "fits iPod" in the description field. The document with iPod in the name field will have a higher score than the other document because you boosted the name field.

There are many more possibilities but I'm sure this gives you the idea

Hope this helps.
 
Emmanuel Bernard
author
Ranch Hand
Posts: 62
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
On top of John's post, I think we could make that easier in Hibernate Search by providing a @DynamicBoost(BoostStrategy.class) feature.

I have opened a JIRA issue.
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-324
 
Kuladip Yadav
Ranch Hand
Posts: 162
Hibernate Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Emmanuel,

I think we could make that easier in Hibernate Search by providing a @DynamicBoost(BoostStrategy.class) feature.



Hey, that will be great.

Also we could include rule engine like jboss in such scoring system.
This will really make scoring system stronger.

What do you think ?
 
Emmanuel Bernard
author
Ranch Hand
Posts: 62
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes that's a possibility
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic