Thank you both. The DocTransformer solution was very simple:

import java.io.IOException;

import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.transform.DocTransformer;
import org.apache.solr.response.transform.TransformerFactory;

public class PositionAugmenterFactory extends TransformerFactory{

     public DocTransformer create(String field, SolrParams params,
             SolrQueryRequest req) {
         return new PositionAugmenter( field );

     class PositionAugmenter extends DocTransformer {
         final String name;
         int position;

         public PositionAugmenter( String display )
             this.name = display;
             this.position = 1;
         public String getName() {
             return name;

         public void transform(SolrDocument doc, int docid) throws
IOException {
             doc.setField( name, position++);


@Jack: fl=[docid] is similar to using the uniqueKey, but still hard to
compare visually (for me).

The fields are not returned in the same order as specified in the 'fl'
parameter. Can the order be overridden?


On Fri, Jan 3, 2014 at 6:58 PM, Jack Krupansky wrote:

Or just use the internal document ID: fl=*,[docid]

Granted, the docID may change if a segment merge occurs and earlier
documents have been deleted, but it may be sufficient for your purposes.

-- Jack Krupansky

-----Original Message----- From: Upayavira
Sent: Friday, January 03, 2014 5:58 PM
To: solr-user@lucene.apache.org
Subject: Re: how to include result ordinal in response

On Fri, Jan 3, 2014, at 10:00 PM, Peter Keegan wrote:

Is there a simple way to output the result number (ordinal) with each
returned document using the 'fl' parameter? This would be useful when
visually comparing the results from 2 queries.
I'm not aware of a simple way.

If you're competent in Java, this could be a neat new DocTransformer
component. You'd say:


and you'd get a new field in your search results.

Cruder ways would be to use XSLT to add it to an XML output, or a
velocity template, but the DocTransformer approach would create
something that could be of ongoing use.


Search Discussions

Discussion Posts


Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 4 of 4 | next ›
Discussion Overview
groupsolr-user @
postedJan 3, '14 at 10:00p
activeJan 4, '14 at 10:44p



site design / logo © 2021 Grokbase