lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1543) Field specified norms in MatchAllDocumentsScorer
Date Thu, 19 Feb 2009 20:14:01 GMT

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

Yonik Seeley commented on LUCENE-1543:
--------------------------------------

Couldn't you just use a TermQuery?
Or a BooleanQuery with a MatchAllDocsQuery and an optional TermQuery?

> Field specified norms in MatchAllDocumentsScorer 
> -------------------------------------------------
>
>                 Key: LUCENE-1543
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1543
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Query/Scoring
>    Affects Versions: 2.4
>            Reporter: Karl Wettin
>            Priority: Minor
>             Fix For: 2.9
>
>         Attachments: LUCENE-1543.txt
>
>
> This patch allows for optionally setting a field to use for norms factoring when scoring
a MatchingAllDocumentsQuery.
> From the test case:
> {code:java}
> .
>     RAMDirectory dir = new RAMDirectory();
>     IndexWriter iw = new IndexWriter(dir, new StandardAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
>     iw.setMaxBufferedDocs(2);  // force multi-segment
>     addDoc("one", iw, 1f);
>     addDoc("two", iw, 20f);
>     addDoc("three four", iw, 300f);
>     iw.close();
>     IndexReader ir = IndexReader.open(dir);
>     IndexSearcher is = new IndexSearcher(ir);
>     ScoreDoc[] hits;
>     // assert with norms scoring turned off
>     hits = is.search(new MatchAllDocsQuery(), null, 1000).scoreDocs;
>     assertEquals(3, hits.length);
>     assertEquals("one", ir.document(hits[0].doc).get("key"));
>     assertEquals("two", ir.document(hits[1].doc).get("key"));
>     assertEquals("three four", ir.document(hits[2].doc).get("key"));
>     // assert with norms scoring turned on
>     MatchAllDocsQuery normsQuery = new MatchAllDocsQuery("key");
>     assertEquals(3, hits.length);
> //    is.explain(normsQuery, hits[0].doc);
>     hits = is.search(normsQuery, null, 1000).scoreDocs;
>     assertEquals("three four", ir.document(hits[0].doc).get("key"));    
>     assertEquals("two", ir.document(hits[1].doc).get("key"));
>     assertEquals("one", ir.document(hits[2].doc).get("key"));
> {code}

-- 
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-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message