Hi, I need to score more on products, those names begin with query, rather then just contain it. I am not sure where to start research on that... Any ideas? Best regards, Tom -- Posted via http://www.ruby-forum.com/.
On Wed, Mar 21, 2007 at 05:57:46PM +0100, Linus wrote:> Hi, > I need to score more on products, those names > begin with query, rather then just contain it. > > I am not sure where to start research on that... > Any ideas?you could index the first word of your product names in a separate field, and give that field a boost. So any query with a term that matches the first word of the product name would score higher. however there might well be better solutions to this problem I can''t think of right now :-) Jens -- Jens Kr?mer webit! Gesellschaft f?r neue Medien mbH Schnorrstra?e 76 | 01069 Dresden Telefon +49 351 46766-0 | Telefax +49 351 46766-66 kraemer at webit.de | www.webit.de Amtsgericht Dresden | HRB 15422 GF Sven Haubold, Hagen Malessa
Jens Kraemer wrote:> you could index the first word of your product names in a separate > field, and give that field a boost. So any query with a term that > matches the first word of the product name would score higher. > > however there might well be better solutions to this problem I can''t > think of right now :-)I finished with this in controller: q = "#{q}*^4 OR *#{q}*" It seems to do the job :) Best regards, Tom -- Posted via http://www.ruby-forum.com/.
On 3/22/07, Linus <lajanus at o2.pl> wrote:> Hi, > I need to score more on products, those names > begin with query, rather then just contain it. > > I am not sure where to start research on that... > Any ideas?See SpanFirstQuery. It is especially designed for this. Unfortunately you can''t build one with the query parser. You need to build it by hand. http://ferret.davebalmain.com/api/classes/Ferret/Search/Spans/SpanFirstQuery.html -- Dave Balmain http://www.davebalmain.com/