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 >