getSortedNumeric throws the following exception:

unexpected docvalues type SORTED_SET for field 'space_list' (expected one
of [SORTED_NUMERIC, NUMERIC]). Use UninvertingReader or index with
docvalues.

If I am reading the doumentation correctly, getSortedNumeric sorts the
values, but it is still for non-multivalued fields.

On Fri, Mar 13, 2015 at 1:55 PM, Chris Hostetter <hossman_luc...@fucit.org>
wrote:

>
> : If I am finding the values of a long field for a single numeric field, I
> : just do:
> :
> : DocValues.getNumeric(contex.reader(), "myField").get(docNumber). This
> : returns the value of the field and everything is good.
> :
> : However, my field is a multi-valued long field. So, I need to do:
> :
> : DocValues.getSortedSet(contex.reader(), "myField")
> : This returns a SortedSetDocValues. And now I am a bit lost. I want to
>
> I haven't looked into this closely, but isn't what you want just
> DocValues.getSortedNumeric() ?
>
>
> : As a followup question, I am doing this for a PostFiter. So,
> : DeletagtingCollector.collect(int doc). The value of doc always seems to
> be
> : 0. So, I am assuming this is not the doc ID. Is this the index of the
> : reader at it's current position?
>
> It shouldn't always be 0 -- it should be the docId relative the current
> (Leaf) reader context ... so if you have a lot of segments containing only
> a single document, then it would always be 0.
>
> If you always use the current LeafReaderContext to fetch the DocValues
> (ie: you can load the DocValues in doSetNextReader() and re-use until the
> next doSetNextReader() or finish()) then the docId collected and the docId
> you use to lookup the docValues can be identical, and you can ignore the
> details of where/how the current reader context is in relation to the
> entire index (ie: the docBase)
>
>
>
> -Hoss
> http://www.lucidworks.com/
>

Reply via email to