Hi Bill, This looks like an oversight on my part when migrating the payload scoring queries - can you open a JIRA ticket to add 'includeSpanScore' as an option to PayloadScoreQuery?
As a workaround, you should be able to use a custom similarity that returns 1 for all scores (see IndexSearcher.NON_SCORING_SIMILARITY for an implementation that returns 0, you could just clone that and change SimScorer.score()) Alan Woodward www.flax.co.uk On 19 Oct 2015, at 00:39, William Bell wrote: > Here is my first stab at it. Thoughts? > > Question: > > new PayloadTermQuery(new Term(nv[0].substring(1), nv[1]), new > AveragePayloadFunction(), false) > > How do I handle the "false" ? It means boolean includeSpanScore > > > @Override > public Query parse() throws SyntaxError { > > if (qstr == null || qstr.length() == 0) return null; > //BooleanQuery q = new BooleanQuery(); > BooleanQuery.Builder q = new BooleanQuery.Builder(); > q.setDisableCoord(true); > if (qstr.length() > 1 && qstr.startsWith("\"") && qstr.endsWith("\"")) { > qstr = qstr.substring(1,qstr.length()-1); > } > String[] nvps = StringUtils.split(qstr, " "); > for (int i = 0; i < nvps.length; i++) { > String[] nv = StringUtils.split(nvps[i], ":"); > if (nv.length > 1) { > if (nv[0].startsWith("+")) { > SpanTermQuery sq = new SpanTermQuery(new > Term(nv[0].substring(1), nv[1])); > PayloadScoreQuery psq = new PayloadScoreQuery(sq, new > AveragePayloadFunction()); > q.add(psq, Occur.MUST); > //q.add(new PayloadTermQuery(new Term(nv[0].substring(1), > nv[1]), new AveragePayloadFunction(), false), Occur.MUST); > } else { > //q.add(new PayloadTermQuery(new Term(nv[0], nv[1]), new > AveragePayloadFunction(), false), Occur.SHOULD); > SpanTermQuery sq = new SpanTermQuery(new Term(nv[0], nv[1])); > PayloadScoreQuery psq = new PayloadScoreQuery(sq, new > AveragePayloadFunction()); > q.add(psq, Occur.SHOULD); > } > } > } > // return q; > return q.build(); > } > > > On Sun, Oct 18, 2015 at 4:46 PM, William Bell <billnb...@gmail.com> wrote: > >> Wondering how to change my payload based on example: >> >> https://lucidworks.com/blog/2014/06/13/end-to-end-payload-example-in-solr/ >> >> PayloadTermQuery and BooleanQuery are deprecated in 5.3.x >> >> @Override >> public Query parse() throws SyntaxError { >> >> if (qstr == null || qstr.length() == 0) return null; >> BooleanQuery q = new BooleanQuery(); >> if (qstr.length() > 1 && qstr.startsWith("\"") && qstr.endsWith("\"")) { >> qstr = qstr.substring(1,qstr.length()-1); >> } >> String[] nvps = StringUtils.split(qstr, " "); >> for (int i = 0; i < nvps.length; i++) { >> String[] nv = StringUtils.split(nvps[i], ":"); >> if (nv.length > 1) { >> if (nv[0].startsWith("+")) { >> q.add(new PayloadTermQuery(new Term(nv[0].substring(1), nv[1]), >> new AveragePayloadFunction(), false), Occur.MUST); >> } else { >> q.add(new PayloadTermQuery(new Term(nv[0], nv[1]), >> new AveragePayloadFunction(), false), Occur.SHOULD); >> } >> } >> } >> return q; >> } >> >> >> -- >> Bill Bell >> billnb...@gmail.com >> cell 720-256-8076 >> > > > > -- > Bill Bell > billnb...@gmail.com > cell 720-256-8076