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" <[email protected]>
> Komu: [email protected]
> 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); } *
>
>
>
>
>
>
>
><[email protected]> 于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" <[email protected]>
>> > Komu: [email protected]
>> > 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 <[email protected]> 于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 <[email protected]> wrote:
>> >>
>> >> > Yeah,got it~. So the QueryResult.segmentTerminatedEarly maybe a
>> boolean,
>> >> > instead of Boolean, is better, right?
>> >> >
>> >> > Mikhail Khludnev <[email protected]> 于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 <[email protected]>
>> 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
>> >>
>> >
>> >
>>
>
>