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: [email protected]
For additional commands, e-mail: [email protected]