I think we both understand you well :) So once again, to explain it to you, please have a look at the aforementioned https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/handler/component/ResponseBuilder.java, these lines:
final Boolean segmentTerminatedEarly = result.getSegmentTerminatedEarly(); if (segmentTerminatedEarly != null) { rsp.getResponseHeader().add(SolrQueryResponse.RESPONSE_HEADER_SEGMENT_TERMINATED_EARLY_KEY, segmentTerminatedEarly); } Got it now? :) Petr ______________________________________________________________ > Od: "zhenyuan wei" <tins...@gmail.com> > Komu: solr-user@lucene.apache.org > Datum: 03.09.2018 11:21 > Předmět: Re: Is that a mistake or bug? > >Oh ~ I feel embarrassed to explaining it again, maybe my english not so >well~ >my actually mean is: IF QueryResult.segmentTerminatedEarly is boolean >,not Boolean , declared in QueryResult. >public class QueryResult{ > private boolean partialResults > * private Boolean segmentTerminatedEarly; ====> private boolean >segmentTerminatedEarly;* > ...... >} > >then in QueryComponent.process() method, like follow : > >QueryResult result = new QueryResult(); >cmd.setSegmentTerminateEarly(params.getBool(CommonParams.SEGMENT_TERMINATE_EARLY, >CommonParams.SEGMENT_TERMINATE_EARLY_DEFAULT)); > > >*if (cmd.getSegmentTerminateEarly()) { // this if block code can be >deleted . result.setSegmentTerminatedEarly(Boolean.FALSE); } * > > > > > > > ><p.bod...@centrum.cz> 于2018年9月3日周一 下午4:52写道: > >> Hi, really nope :) Because as MK writes below, >> result.segmentTerminatedEarly is used as a 3-state variable. >> >> The only line that could be improved, is probably replacing >> "Boolean.FALSE" by simply "false", but that is really a minor thing... >> >> Regards >> >> PB >> ______________________________________________________________ >> > Od: "zhenyuan wei" <tins...@gmail.com> >> > Komu: solr-user@lucene.apache.org >> > Datum: 03.09.2018 10:24 >> > Předmět: Re: Is that a mistake or bug? >> > >> >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 >> >> >> > >> > >> > >