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

Reply via email to