[ 
https://issues.apache.org/jira/browse/LUCENE-533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741730#action_12741730
 ] 

Paul Elschot commented on LUCENE-533:
-------------------------------------

One problem here is that the Spans interface does not have a property for a 
weight value.

So one way to start this could be to deprecate Spans and to define something 
like this:
{code}
public abstract class WeightedSpans implements Spans {
  ... abstract methods as in Spans interface;

  public float getValue()
  // implement getValue here to allow WeightedSpans to replace Spans everywhere
  { return 1.0; }
}
{code}



> SpanQuery scoring: SpanWeight lacks a recursive traversal of the query tree
> ---------------------------------------------------------------------------
>
>                 Key: LUCENE-533
>                 URL: https://issues.apache.org/jira/browse/LUCENE-533
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 1.9
>            Reporter: Vincent Le Maout
>            Priority: Minor
>
> I found the computing of weights to be somewhat different according to the 
> query type (BooleanQuery versus SpanQuery) :
> org.apache.lucene.search.BooleanQuery.BooleanWeight :
> public BooleanWeight(Searcher searcher)
>      throws IOException {
>      this.similarity = getSimilarity(searcher);
>      for (int i = 0 ; i < clauses.size(); i++) {
>        BooleanClause c = (BooleanClause)clauses.elementAt(i);
>        weights.add(c.getQuery().createWeight(searcher));
>      }
>    }
> which looks like a recursive descent through the tree, taking into account 
> the weights of all the nodes, whereas :
> org.apache.lucene.search.spans.SpanWeight :
> public SpanWeight(SpanQuery query, Searcher searcher)
>    throws IOException {
>    this.similarity = query.getSimilarity(searcher);
>    this.query = query;
>    this.terms = query.getTerms();
>    idf = this.query.getSimilarity(searcher).idf(terms, searcher);
>  }
> lacks any traversal and according to what I have understood so far from the 
> rest
> of the code, only takes into account the boost of the tree root in 
> SumOfSquareWeights(),
> which is consistent with the resulting scores not considering the boost of 
> the tree
> leaves.
> vintz

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to