Hello,

I am trying to use Payload fields to store per-zone delivery dates for 
products. I have an index where my documents are products and for each product 
we want to store a date by when we can deliver that product for 1-100 different 
zones. Since the payload() function only supports int and float, I am 
representing my dates as 20180210. So my payload field looks like this:
1|20180210 2|20180211 3|20180212 4|20180213 5|20180214

However when I load that data into my index and add 
"fl=Zone2:payload(DeliveryPayload,2)" I get the wrong result in my output. It 
shows me "Zone2": 20180212.

I don't understand why. The only thing I can think of is that the int is too 
big. Is there a size limit? If I reduce it to a 6 or 7 digit int, things work 
as expected. Shouldn't INT handle up to 2B?

My schema.xml looks like this:

    <fieldType name="payload_int" stored="false" indexed="true" 
class="solr.TextField" >
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.DelimitedPayloadTokenFilterFactory" 
encoder="integer"/>
      </analyzer>
    </fieldType>

    <field name="DeliveryPayload" type="payload_int" indexed="true" 
stored="true"/>


Reply via email to