You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Furkan KAMACI <fu...@gmail.com> on 2013/12/01 17:49:54 UTC
Using Payloads as a Coefficient For Score At a Custom QParser That
extends ExtendedDismaxQParser
Hi;
I use Solr 4.5.1 I have a case: When a user searches for some specific
keywords some documents should be listed at much more higher than its usual
score. I mean I have probabilities of which documents user may want to see
for given keywords.
I have come up with that idea. I can put a new field to my schema. This
field holds keyword and probability as payload. When a user searches for a
keyword I will calculate usual document score for given fields and also I
will make a search on payloaded field and I will multiply the total score
with that payload.
I followed that example:
http://sujitpal.blogspot.com/2013/07/porting-payloads-to-solr4.html#! However
that example extends Qparser directly but I want to use capabilities of
*edismax*.
So I found that example:
file:///home/furkan/Desktop/DigitalPebble's%20Blog%20%20Using%20Payloads%20with%20DisMaxQParser%20in%20SOLR.html
This
one exteds dismax and but I could not used payloads at that example.
I want to combine above to solutions. First solution has that case:
@Override
public Similarity get(String name) {
if ("payloads".equals(name) || "cscores".equals(name)) {
return new PayloadSimilarity();
} else {
return new DefaultSimilarity();
}
}
However dismax behaves different. i.e. when you search for cscores:A it
changes that into that:
+((text:cscores:y text:cscores text:y text:cscoresy)) ()
When I debug it name is *text *instead of *cscores *and does not work. My
idea is combining two examples and extending *edismax*. Do you have any
idea how to extend it for edismax or do you have any idea what to do for my
case.
Thanks;
Furkan KAMACI
Re: Using Payloads as a Coefficient For Score At a Custom QParser
That extends ExtendedDismaxQParser
Posted by Furkan KAMACI <fu...@gmail.com>.
Second link is that:
http://digitalpebble.blogspot.com/2010/08/using-payloads-with-dismaxqparser-in.html
2013/12/1 Furkan KAMACI <fu...@gmail.com>
> Hi;
>
> I use Solr 4.5.1 I have a case: When a user searches for some specific
> keywords some documents should be listed at much more higher than its usual
> score. I mean I have probabilities of which documents user may want to see
> for given keywords.
>
> I have come up with that idea. I can put a new field to my schema. This
> field holds keyword and probability as payload. When a user searches for a
> keyword I will calculate usual document score for given fields and also I
> will make a search on payloaded field and I will multiply the total score
> with that payload.
>
> I followed that example:
> http://sujitpal.blogspot.com/2013/07/porting-payloads-to-solr4.html#! However
> that example extends Qparser directly but I want to use capabilities of
> *edismax*.
>
> So I found that example:
> file:///home/furkan/Desktop/DigitalPebble's%20Blog%20%20Using%20Payloads%20with%20DisMaxQParser%20in%20SOLR.html This
> one exteds dismax and but I could not used payloads at that example.
>
> I want to combine above to solutions. First solution has that case:
>
> @Override
> public Similarity get(String name) {
> if ("payloads".equals(name) || "cscores".equals(name)) {
> return new PayloadSimilarity();
> } else {
> return new DefaultSimilarity();
> }
> }
>
> However dismax behaves different. i.e. when you search for cscores:A it
> changes that into that:
>
> +((text:cscores:y text:cscores text:y text:cscoresy)) ()
>
> When I debug it name is *text *instead of *cscores *and does not work. My
> idea is combining two examples and extending *edismax*. Do you have any
> idea how to extend it for edismax or do you have any idea what to do for my
> case.
>
> Thanks;
> Furkan KAMACI
>