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