I mean, use terminatedEarly as basic boolean type, then no need to explicitly assign it as Boolean.FALSE, because basic boolean's default value is false.
Mikhail Khludnev <m...@apache.org> 于2018年9月3日周一 下午4:13写道: > Nope. In this case, it will respond terminatedEarly=false even if noone > request it. > > On Mon, Sep 3, 2018 at 9:09 AM zhenyuan wei <tins...@gmail.com> wrote: > > > Yeah,got it~. So the QueryResult.segmentTerminatedEarly maybe a boolean, > > instead of Boolean, is better, right? > > > > Mikhail Khludnev <m...@apache.org> 于2018年9月3日周一 下午1:36写道: > > > > > It's neither, it's on purpose. By default > result.segmentTerminatedEarly > > is > > > null, hence it doesn't appear in result output. see > > > ResponseBuilder.setResult(QueryResult). > > > So, if cmd requests early termination, it sets false by default, > enabling > > > "false" output even it won't be the case. And later it might be flipped > > to > > > true. > > > > > > > > > On Mon, Sep 3, 2018 at 5:57 AM zhenyuan wei <tins...@gmail.com> wrote: > > > > > > > Hi all, > > > > I saw the code like following: > > > > > > > > QueryResult result = new QueryResult(); > > > > > > > > > > > > > > > > > > cmd.setSegmentTerminateEarly(params.getBool(CommonParams.SEGMENT_TERMINATE_EARLY, > > > > CommonParams.SEGMENT_TERMINATE_EARLY_DEFAULT)); > > > > if (cmd.getSegmentTerminateEarly()) { > > > > result.setSegmentTerminatedEarly(Boolean.FALSE); > > > > } > > > > > > > > It says if request's param segmentTerminateEarly=true, which means > > search > > > > maybe terminated early within a segment, then set > > > > result.setSegmentTerminatedEarly as false , this code is of a little > > > > confusion > > > > . > > > > > > > > > > > > > -- > > > Sincerely yours > > > Mikhail Khludnev > > > > > > > > -- > Sincerely yours > Mikhail Khludnev >