lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grant Ingersoll <>
Subject Re: How about adding a new paramer to Similarity.scorePayload( ) ?
Date Tue, 24 Jun 2008 19:29:00 GMT
Not sure, but would a CustomScoreQuery (or an extension of it) work  
for you?  This way, you could try to combine the BoostingTermQuery  
with a ValueSourceQuery (i.e. FunctionQuery)

Another option is to just extend BoostingTermQuery and implement your  
own scorer that takes into account the field.

Of course, that isn't to say your idea is wrong.  We could add the  
method and add a new Payload Query that calls it, or just change it  
all together.  Of course, things may change, too, if and when we want  
to do things like add payload phrase queries.  A patch would be good.

Just trying to brainstorm some alternatives that don't involve API  

On Jun 24, 2008, at 12:16 PM, wuqi wrote:

> Hi,
> I want to customize a new Similarity class which need to adopt  
> payload information.The current definition of scorePayload is below:
>    "public float scorePayload(String fieldName, byte [] payload, int  
> offset, int length)"
> I have a problem when using this function.In case we have two  
> BoostingTermQuery:
>   BoostingTermQuery #1:   fieldName="Country" and  fieldValue=  
> "America"
>   BoostingTermQuery #2:   fieldName="Country" and  fieldValue="China"
> and the the information of one payloads looks like this:
>  payload: {new York,san Jose,Chicago}
> of course,query #1 should get a higher payPayload score.But current  
> interface prevent us from sending fieldValue information to  
> scorePayload function. So maybe we should add a new interface like
>   public float scorePayload(String fielName,String value,byte[]  
> payload,int offset,int length)
> and Boosting Query also need to be changed accordingly.
> Thanks
> -Qi

Grant Ingersoll

Lucene Helpful Hints:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message