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

Reply via email to