lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadrien HUGOT (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENENET-513) GetFieldQuery in MultiFieldQueryParser not handle properly Boosts
Date Fri, 16 Nov 2012 13:10:12 GMT

    [ https://issues.apache.org/jira/browse/LUCENENET-513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13498795#comment-13498795
] 

Hadrien HUGOT commented on LUCENENET-513:
-----------------------------------------

Ok, I am then fixing the issue. Thank you.

Fix in revision 1410304
                
> GetFieldQuery in MultiFieldQueryParser not handle properly Boosts
> -----------------------------------------------------------------
>
>                 Key: LUCENENET-513
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-513
>             Project: Lucene.Net
>          Issue Type: Bug
>          Components: Lucene.Net Core
>    Affects Versions: Lucene.Net 3.0.3
>            Reporter: Hadrien HUGOT
>         Attachments: LUCENENET-513-Fix.patch
>
>
> Regression between Lucene 2.9.4g and Lucene 3.0.3 in the method GetFieldQuery of MultiFieldQueryParser
with the boosts factor.
> {noformat}
> public class MultiFieldQueryParser : QueryParser {
>    protected internal override Query GetFieldQuery(string field, string queryText, int
slop)
>         {
>  ...
>                         //If the user passes a map of boosts
>                         if (boosts != null)
>                         {
>                             //Get the boost from the map and apply them
>                             Single boost = boosts[fields[i]];
>                             q.Boost = boost;
>                         }
> ...
> {noformat}
> If all fields don't have a boost factor an exception is throw by "Single boost = boosts[fields[i]];"
> In version 2.9.4g, a check was performed, and no boost were apply if the field is not
boosted.
> I added a patch with the following modification:
> {noformat}
> //Get the boost and apply them if exists
> float boost;
> if (boosts.TryGetValue(fields[i], out boost))
>    q.Boost = boost;
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message