what does your full request, including the results block look like when you search on one of these queries with "fl=*,score" ?
I'm suspicios that perhaps the problem isn't the payload encoding, or the PayloadScoreQuery -- but perhaps it's simply a bug in the Explanation produced by those queries? : Date: Wed, 13 Dec 2017 14:15:48 -0600 : From: John Anonymous <orro...@gmail.com> : Reply-To: solr-user@lucene.apache.org : To: solr-user@lucene.apache.org : Subject: PayloadScoreQuery always returns score of zero : : The PayloadScoreQuery always returns a score of zero, regardless of : payloads. The PayloadCheckQParser works fine, so I know that I am : successfully indexing the payloads. Details below : : *payload field that I am searching on:* : <field name="report" type="delimited_payloads_int" indexed="true" : stored="true" : multiValued="true" termVectors="true" termPositions="true" : termOffsets="true" : omitNorms="true" termPayloads="true"/> : : *definition of payload field type:* : <fieldType name="delimited_payloads_int" stored="false" indexed="true" : class="solr.TextField"> : <analyzer type="index"> : <tokenizer class="solr.WhitespaceTokenizerFactory"/> : <filter class="solr.LowerCaseFilterFactory"/> : <filter class="solr.DelimitedPayloadTokenFilterFactory" : encoder="integer" delimiter="¯"/> : <filter class="solr.WordDelimiterGraphFilterFactory" : preserveOriginal="0" splitOnNumerics="0" types="wdftypes.txt"/> : <filter class="solr.FlattenGraphFilterFactory"/> : <filter class="solr.ASCIIFoldingFilterFactory" /> : <filter class="solr.StopFilterFactory" ignoreCase="true" : words="stopwords_en.txt"/> : </analyzer> : <analyzer type="query"> : <tokenizer class="solr.WhitespaceTokenizerFactory"/> : <filter class="solr.LowerCaseFilterFactory"/> : <filter class="solr.WordDelimiterGraphFilterFactory" : preserveOriginal="0" splitOnNumerics="0" types="wdftypes.txt"/> : <filter class="solr.ASCIIFoldingFilterFactory" /> : <filter class="solr.StopFilterFactory" ignoreCase="true" : words="stopwords_en.txt"/> : </analyzer> : </fieldType> : : : *Adding some documents with payloads in my test:*assertU(adoc( : "key", "1", : "report", "apple¯0 apple¯0 apple¯0" : )); : assertU(adoc( : "key", "2", : "report", "apple¯1 apple¯1 text¯1" : )); : : : *query:*{!payload_score f=report v=apple func=sum} : : *score (both documents have a score of zero):* : <lst name="explain"> : <str name="1"> : 0.0 = SumPayloadFunction.docScore() : </str> : <str name="2"> : 0.0 = SumPayloadFunction.docScore() : </str> : </lst> : : I have tried using func=max as well, but it makes no difference. Can : anyone help me with what I am missing here? : Thanks! : Johnathan : -Hoss http://www.lucidworks.com/