[
https://issues.apache.org/jira/browse/LUCENE-1543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12675118#action_12675118
]
Karl Wettin commented on LUCENE-1543:
-------------------------------------
bq. Couldn't you just use a TermQuery? Or a BooleanQuery with a
MatchAllDocsQuery and an optional TermQuery?
Wouldn't that require a TermQuery that match all documents? I.e. adding a term
to a field in all documents?
The following stuff doesn't really fit in this issue, but still. It's rather
related to column stride payloads LUCENE-1231 . I've been considering adding a
new "norms" field at document level for a couple of years now. 8 more bits at
document level would allow for moving general document boosting to move it out
the norms-boost-per-field-blob and increase the length normalization and per
field boost resolution quite a bit at a low cost.
(I hope that is not yet another can of worms I get to open.)
> 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]