You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Gintautas Sulskus <gi...@gmail.com> on 2016/10/31 18:07:36 UTC

Getting NullPointerException in an attempt to boost query result by date

Hi,

I am trying to construct a timestamp-boosted query comprising two weighted
fields: "title" and "body":

{!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
{!type=dismax qf='title^10 body^1' v=$term}

$term=apple

I expect the given example query provided above to search fields "title"
and "body" using keyword "apple" and adjust the order of the results by the
submission date "submit_date".

However, the query just throws the NullPointerException exception: [1].
Could you please help me out with this issue?

I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.

Best,
Gin

[1] the exception:
java.lang.NullPointerException at
org.apache.lucene.queries.function.BoostedQuery.hashCode(BoostedQuery.java:215)
at org.apache.lucene.search.BooleanClause.hashCode(BooleanClause.java:99)
at java.util.AbstractList.hashCode(AbstractList.java:541) at
org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:656) at
org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47) at
org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1347)
at
org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:518)
at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:485)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:918)
at
org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(SolrDispatchFilter.java:481)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:255)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(SolrHadoopAuthenticationFilter.java:408)
at
org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
at
org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:291)
at
org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
at
org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(SolrHadoopAuthenticationFilter.java:413)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.solr.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)

Re: Getting NullPointerException in an attempt to boost query result by date

Posted by Gintautas Sulskus <gi...@gmail.com>.
My bad. Thanks, Erik.

Gin

Best Wishes,
Gintautas Sulskus

On Tue, Nov 1, 2016 at 3:26 PM, Erik Hatcher <er...@gmail.com> wrote:

> Now you're asking a dismax parser question.  dismax does not support * or
> *:* directly, but rather in q.alt if the query is empty.
>
>    Erik
>
> > On Nov 1, 2016, at 11:15, Gintautas Sulskus <gi...@gmail.com>
> wrote:
> >
> > I store date as Long:
> >
> > <field name="submit_date" type="tlong"  indexed="true" stored="true"/>
> > <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
> > positionIncrementGap="0"/>
> >
> > Eric, at first glance it seems that your given advice to separate nested
> > parsers worked.
> > I can see the query in the logs and it returns the expected data.
> >
> > Thanks!
> >
> > Using the same opportunity:
> > How do I set $term to match everything in qq={!dismax qf=‘….’ v=$term},
> > e.g. like field:*?
> >
> > Gin
> >
> >> On Tue, Nov 1, 2016 at 1:15 PM, Erik Hatcher <er...@gmail.com>
> wrote:
> >>
> >> What’s the field and type definition of submit_date?   Could that be the
> >> issue?
> >>
> >> Also, one thing you could do is separate the nested parsers like this:
> >>
> >>    q={!boost b=… v=$qq}
> >>    qq={!dismax qf=‘….’ v=$term}
> >>
> >> Relying on `v` to be the string after the closing curly bracket is
> >> sometimes error-prone, and I tend to explicitly define `v` like this to
> >> avoid escaping and parsing hassles.
> >>
> >> (whether you set these in the request handler or as explicit params is
> up
> >> to you, and keeping everything (but `term`) in the request handler
> >> definition would be the cleanest client request way to go, as you’re
> doing.
> >>
> >>        Erik
> >>
> >>
> >>> On Oct 31, 2016, at 4:19 PM, Gintautas Sulskus <
> >> gintautas.sulskus@gmail.com> wrote:
> >>>
> >>> Hi Erik,
> >>>
> >>> I have defined the query as SearchHandler:
> >>>
> >>> <requestHandler name="/testSearch" class="solr.SearchHandler">
> >>> <lst name="defaults”>
> >>>   <str name="q">
> >>>     {!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}
> >>>     {!type=dismax qf='title^10 body^5 body^1' v=$term}
> >>>   </str>
> >>> </lst>
> >>> </requestHandler>
> >>>
> >>> The handler is then invoked with the following url:
> >>>
> >>> /solr/core/testSearch?term=apple
> >>>
> >>> The handler works if I comment out the date-boost line:
> >>> "{!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}"
> >>>
> >>> Gin
> >>>
> >>> Best Wishes,
> >>> Gintautas Sulskus
> >>>
> >>> On Mon, Oct 31, 2016 at 6:15 PM, Erik Hatcher <er...@gmail.com>
> >>> wrote:
> >>>
> >>>> how’d you set “$term” - the correct way would be &term=apple on the
> Solr
> >>>> request.
> >>>>
> >>>>
> >>>>> On Oct 31, 2016, at 2:07 PM, Gintautas Sulskus <
> >>>> gintautas.sulskus@gmail.com> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> I am trying to construct a timestamp-boosted query comprising two
> >>>> weighted
> >>>>> fields: "title" and "body":
> >>>>>
> >>>>> {!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
> >>>>> {!type=dismax qf='title^10 body^1' v=$term}
> >>>>>
> >>>>> $term=apple
> >>>>>
> >>>>> I expect the given example query provided above to search fields
> >> "title"
> >>>>> and "body" using keyword "apple" and adjust the order of the results
> by
> >>>> the
> >>>>> submission date "submit_date".
> >>>>>
> >>>>> However, the query just throws the NullPointerException exception:
> [1].
> >>>>> Could you please help me out with this issue?
> >>>>>
> >>>>> I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.
> >>>>>
> >>>>> Best,
> >>>>> Gin
> >>>>>
> >>>>> [1] the exception:
> >>>>> java.lang.NullPointerException at
> >>>>> org.apache.lucene.queries.function.BoostedQuery.
> >>>> hashCode(BoostedQuery.java:215)
> >>>>> at org.apache.lucene.search.BooleanClause.hashCode(
> >>>> BooleanClause.java:99)
> >>>>> at java.util.AbstractList.hashCode(AbstractList.java:541) at
> >>>>> org.apache.lucene.search.BooleanQuery.hashCode(
> BooleanQuery.java:656)
> >> at
> >>>>> org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47)
> >> at
> >>>>> org.apache.solr.search.SolrIndexSearcher.getDocListC(
> >>>> SolrIndexSearcher.java:1347)
> >>>>> at
> >>>>> org.apache.solr.search.SolrIndexSearcher.search(
> >>>> SolrIndexSearcher.java:518)
> >>>>> at
> >>>>> org.apache.solr.handler.component.QueryComponent.
> >>>> process(QueryComponent.java:485)
> >>>>> at
> >>>>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(
> >>>> SearchHandler.java:218)
> >>>>> at
> >>>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(
> >>>> RequestHandlerBase.java:135)
> >>>>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
> >>>>> org.apache.solr.servlet.SolrDispatchFilter.execute(
> >>>> SolrDispatchFilter.java:918)
> >>>>> at
> >>>>> org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(
> >>>> SolrDispatchFilter.java:481)
> >>>>> at
> >>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> >>>> SolrDispatchFilter.java:260)
> >>>>> at
> >>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> >>>> SolrDispatchFilter.java:255)
> >>>>> at
> >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> >>>> ApplicationFilterChain.java:235)
> >>>>> at
> >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> >>>> ApplicationFilterChain.java:206)
> >>>>> at
> >>>>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(
> >>>> SolrHadoopAuthenticationFilter.java:408)
> >>>>> at
> >>>>> org.apache.hadoop.security.authentication.server.
> >>>> AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
> >>>>> at
> >>>>> org.apache.hadoop.security.token.delegation.web.
> >>>> DelegationTokenAuthenticationFilter.doFilter(
> >>>> DelegationTokenAuthenticationFilter.java:291)
> >>>>> at
> >>>>> org.apache.hadoop.security.authentication.server.
> >>>> AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
> >>>>> at
> >>>>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(
> >>>> SolrHadoopAuthenticationFilter.java:413)
> >>>>> at
> >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> >>>> ApplicationFilterChain.java:235)
> >>>>> at
> >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> >>>> ApplicationFilterChain.java:206)
> >>>>> at org.apache.solr.servlet.HostnameFilter.doFilter(
> >>>> HostnameFilter.java:86)
> >>>>> at
> >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> >>>> ApplicationFilterChain.java:235)
> >>>>> at
> >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> >>>> ApplicationFilterChain.java:206)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardWrapperValve.invoke(
> >>>> StandardWrapperValve.java:233)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardContextValve.invoke(
> >>>> StandardContextValve.java:191)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardHostValve.invoke(
> >>>> StandardHostValve.java:127)
> >>>>> at
> >>>>> org.apache.catalina.valves.ErrorReportValve.invoke(
> >>>> ErrorReportValve.java:103)
> >>>>> at
> >>>>> org.apache.catalina.core.StandardEngineValve.invoke(
> >>>> StandardEngineValve.java:109)
> >>>>> at
> >>>>> org.apache.catalina.connector.CoyoteAdapter.service(
> >>>> CoyoteAdapter.java:293)
> >>>>> at
> >>>>> org.apache.coyote.http11.Http11Processor.process(
> >>>> Http11Processor.java:861)
> >>>>> at
> >>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.
> >>>> process(Http11Protocol.java:620)
> >>>>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
> >>>> JIoEndpoint.java:489)
> >>>>> at java.lang.Thread.run(Thread.java:745)
> >>>>
> >>>>
> >>
> >>
>

Re: Getting NullPointerException in an attempt to boost query result by date

Posted by Erik Hatcher <er...@gmail.com>.
Now you're asking a dismax parser question.  dismax does not support * or *:* directly, but rather in q.alt if the query is empty. 

   Erik

> On Nov 1, 2016, at 11:15, Gintautas Sulskus <gi...@gmail.com> wrote:
> 
> I store date as Long:
> 
> <field name="submit_date" type="tlong"  indexed="true" stored="true"/>
> <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
> positionIncrementGap="0"/>
> 
> Eric, at first glance it seems that your given advice to separate nested
> parsers worked.
> I can see the query in the logs and it returns the expected data.
> 
> Thanks!
> 
> Using the same opportunity:
> How do I set $term to match everything in qq={!dismax qf=‘….’ v=$term},
> e.g. like field:*?
> 
> Gin
> 
>> On Tue, Nov 1, 2016 at 1:15 PM, Erik Hatcher <er...@gmail.com> wrote:
>> 
>> What’s the field and type definition of submit_date?   Could that be the
>> issue?
>> 
>> Also, one thing you could do is separate the nested parsers like this:
>> 
>>    q={!boost b=… v=$qq}
>>    qq={!dismax qf=‘….’ v=$term}
>> 
>> Relying on `v` to be the string after the closing curly bracket is
>> sometimes error-prone, and I tend to explicitly define `v` like this to
>> avoid escaping and parsing hassles.
>> 
>> (whether you set these in the request handler or as explicit params is up
>> to you, and keeping everything (but `term`) in the request handler
>> definition would be the cleanest client request way to go, as you’re doing.
>> 
>>        Erik
>> 
>> 
>>> On Oct 31, 2016, at 4:19 PM, Gintautas Sulskus <
>> gintautas.sulskus@gmail.com> wrote:
>>> 
>>> Hi Erik,
>>> 
>>> I have defined the query as SearchHandler:
>>> 
>>> <requestHandler name="/testSearch" class="solr.SearchHandler">
>>> <lst name="defaults”>
>>>   <str name="q">
>>>     {!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}
>>>     {!type=dismax qf='title^10 body^5 body^1' v=$term}
>>>   </str>
>>> </lst>
>>> </requestHandler>
>>> 
>>> The handler is then invoked with the following url:
>>> 
>>> /solr/core/testSearch?term=apple
>>> 
>>> The handler works if I comment out the date-boost line:
>>> "{!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}"
>>> 
>>> Gin
>>> 
>>> Best Wishes,
>>> Gintautas Sulskus
>>> 
>>> On Mon, Oct 31, 2016 at 6:15 PM, Erik Hatcher <er...@gmail.com>
>>> wrote:
>>> 
>>>> how’d you set “$term” - the correct way would be &term=apple on the Solr
>>>> request.
>>>> 
>>>> 
>>>>> On Oct 31, 2016, at 2:07 PM, Gintautas Sulskus <
>>>> gintautas.sulskus@gmail.com> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> I am trying to construct a timestamp-boosted query comprising two
>>>> weighted
>>>>> fields: "title" and "body":
>>>>> 
>>>>> {!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
>>>>> {!type=dismax qf='title^10 body^1' v=$term}
>>>>> 
>>>>> $term=apple
>>>>> 
>>>>> I expect the given example query provided above to search fields
>> "title"
>>>>> and "body" using keyword "apple" and adjust the order of the results by
>>>> the
>>>>> submission date "submit_date".
>>>>> 
>>>>> However, the query just throws the NullPointerException exception: [1].
>>>>> Could you please help me out with this issue?
>>>>> 
>>>>> I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.
>>>>> 
>>>>> Best,
>>>>> Gin
>>>>> 
>>>>> [1] the exception:
>>>>> java.lang.NullPointerException at
>>>>> org.apache.lucene.queries.function.BoostedQuery.
>>>> hashCode(BoostedQuery.java:215)
>>>>> at org.apache.lucene.search.BooleanClause.hashCode(
>>>> BooleanClause.java:99)
>>>>> at java.util.AbstractList.hashCode(AbstractList.java:541) at
>>>>> org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:656)
>> at
>>>>> org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47)
>> at
>>>>> org.apache.solr.search.SolrIndexSearcher.getDocListC(
>>>> SolrIndexSearcher.java:1347)
>>>>> at
>>>>> org.apache.solr.search.SolrIndexSearcher.search(
>>>> SolrIndexSearcher.java:518)
>>>>> at
>>>>> org.apache.solr.handler.component.QueryComponent.
>>>> process(QueryComponent.java:485)
>>>>> at
>>>>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(
>>>> SearchHandler.java:218)
>>>>> at
>>>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(
>>>> RequestHandlerBase.java:135)
>>>>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
>>>>> org.apache.solr.servlet.SolrDispatchFilter.execute(
>>>> SolrDispatchFilter.java:918)
>>>>> at
>>>>> org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(
>>>> SolrDispatchFilter.java:481)
>>>>> at
>>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>>>> SolrDispatchFilter.java:260)
>>>>> at
>>>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>>>> SolrDispatchFilter.java:255)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>>>> ApplicationFilterChain.java:235)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>>>> ApplicationFilterChain.java:206)
>>>>> at
>>>>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(
>>>> SolrHadoopAuthenticationFilter.java:408)
>>>>> at
>>>>> org.apache.hadoop.security.authentication.server.
>>>> AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
>>>>> at
>>>>> org.apache.hadoop.security.token.delegation.web.
>>>> DelegationTokenAuthenticationFilter.doFilter(
>>>> DelegationTokenAuthenticationFilter.java:291)
>>>>> at
>>>>> org.apache.hadoop.security.authentication.server.
>>>> AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
>>>>> at
>>>>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(
>>>> SolrHadoopAuthenticationFilter.java:413)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>>>> ApplicationFilterChain.java:235)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>>>> ApplicationFilterChain.java:206)
>>>>> at org.apache.solr.servlet.HostnameFilter.doFilter(
>>>> HostnameFilter.java:86)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>>>> ApplicationFilterChain.java:235)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>>>> ApplicationFilterChain.java:206)
>>>>> at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(
>>>> StandardWrapperValve.java:233)
>>>>> at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(
>>>> StandardContextValve.java:191)
>>>>> at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(
>>>> StandardHostValve.java:127)
>>>>> at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(
>>>> ErrorReportValve.java:103)
>>>>> at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(
>>>> StandardEngineValve.java:109)
>>>>> at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(
>>>> CoyoteAdapter.java:293)
>>>>> at
>>>>> org.apache.coyote.http11.Http11Processor.process(
>>>> Http11Processor.java:861)
>>>>> at
>>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.
>>>> process(Http11Protocol.java:620)
>>>>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
>>>> JIoEndpoint.java:489)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>> 
>>>> 
>> 
>> 

Re: Getting NullPointerException in an attempt to boost query result by date

Posted by Gintautas Sulskus <gi...@gmail.com>.
I store date as Long:

<field name="submit_date" type="tlong"  indexed="true" stored="true"/>
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
positionIncrementGap="0"/>

Eric, at first glance it seems that your given advice to separate nested
parsers worked.
I can see the query in the logs and it returns the expected data.

Thanks!

Using the same opportunity:
How do I set $term to match everything in qq={!dismax qf=‘….’ v=$term},
e.g. like field:*?

Gin

On Tue, Nov 1, 2016 at 1:15 PM, Erik Hatcher <er...@gmail.com> wrote:

> What’s the field and type definition of submit_date?   Could that be the
> issue?
>
> Also, one thing you could do is separate the nested parsers like this:
>
>     q={!boost b=… v=$qq}
>     qq={!dismax qf=‘….’ v=$term}
>
> Relying on `v` to be the string after the closing curly bracket is
> sometimes error-prone, and I tend to explicitly define `v` like this to
> avoid escaping and parsing hassles.
>
> (whether you set these in the request handler or as explicit params is up
> to you, and keeping everything (but `term`) in the request handler
> definition would be the cleanest client request way to go, as you’re doing.
>
>         Erik
>
>
> > On Oct 31, 2016, at 4:19 PM, Gintautas Sulskus <
> gintautas.sulskus@gmail.com> wrote:
> >
> > Hi Erik,
> >
> > I have defined the query as SearchHandler:
> >
> > <requestHandler name="/testSearch" class="solr.SearchHandler">
> >  <lst name="defaults”>
> >    <str name="q">
> >      {!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}
> >      {!type=dismax qf='title^10 body^5 body^1' v=$term}
> >    </str>
> >  </lst>
> > </requestHandler>
> >
> > The handler is then invoked with the following url:
> >
> > /solr/core/testSearch?term=apple
> >
> > The handler works if I comment out the date-boost line:
> > "{!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}"
> >
> > Gin
> >
> > Best Wishes,
> > Gintautas Sulskus
> >
> > On Mon, Oct 31, 2016 at 6:15 PM, Erik Hatcher <er...@gmail.com>
> > wrote:
> >
> >> how’d you set “$term” - the correct way would be &term=apple on the Solr
> >> request.
> >>
> >>
> >>> On Oct 31, 2016, at 2:07 PM, Gintautas Sulskus <
> >> gintautas.sulskus@gmail.com> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I am trying to construct a timestamp-boosted query comprising two
> >> weighted
> >>> fields: "title" and "body":
> >>>
> >>> {!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
> >>> {!type=dismax qf='title^10 body^1' v=$term}
> >>>
> >>> $term=apple
> >>>
> >>> I expect the given example query provided above to search fields
> "title"
> >>> and "body" using keyword "apple" and adjust the order of the results by
> >> the
> >>> submission date "submit_date".
> >>>
> >>> However, the query just throws the NullPointerException exception: [1].
> >>> Could you please help me out with this issue?
> >>>
> >>> I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.
> >>>
> >>> Best,
> >>> Gin
> >>>
> >>> [1] the exception:
> >>> java.lang.NullPointerException at
> >>> org.apache.lucene.queries.function.BoostedQuery.
> >> hashCode(BoostedQuery.java:215)
> >>> at org.apache.lucene.search.BooleanClause.hashCode(
> >> BooleanClause.java:99)
> >>> at java.util.AbstractList.hashCode(AbstractList.java:541) at
> >>> org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:656)
> at
> >>> org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47)
> at
> >>> org.apache.solr.search.SolrIndexSearcher.getDocListC(
> >> SolrIndexSearcher.java:1347)
> >>> at
> >>> org.apache.solr.search.SolrIndexSearcher.search(
> >> SolrIndexSearcher.java:518)
> >>> at
> >>> org.apache.solr.handler.component.QueryComponent.
> >> process(QueryComponent.java:485)
> >>> at
> >>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(
> >> SearchHandler.java:218)
> >>> at
> >>> org.apache.solr.handler.RequestHandlerBase.handleRequest(
> >> RequestHandlerBase.java:135)
> >>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
> >>> org.apache.solr.servlet.SolrDispatchFilter.execute(
> >> SolrDispatchFilter.java:918)
> >>> at
> >>> org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(
> >> SolrDispatchFilter.java:481)
> >>> at
> >>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> >> SolrDispatchFilter.java:260)
> >>> at
> >>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> >> SolrDispatchFilter.java:255)
> >>> at
> >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> >> ApplicationFilterChain.java:235)
> >>> at
> >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> >> ApplicationFilterChain.java:206)
> >>> at
> >>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(
> >> SolrHadoopAuthenticationFilter.java:408)
> >>> at
> >>> org.apache.hadoop.security.authentication.server.
> >> AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
> >>> at
> >>> org.apache.hadoop.security.token.delegation.web.
> >> DelegationTokenAuthenticationFilter.doFilter(
> >> DelegationTokenAuthenticationFilter.java:291)
> >>> at
> >>> org.apache.hadoop.security.authentication.server.
> >> AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
> >>> at
> >>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(
> >> SolrHadoopAuthenticationFilter.java:413)
> >>> at
> >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> >> ApplicationFilterChain.java:235)
> >>> at
> >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> >> ApplicationFilterChain.java:206)
> >>> at org.apache.solr.servlet.HostnameFilter.doFilter(
> >> HostnameFilter.java:86)
> >>> at
> >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> >> ApplicationFilterChain.java:235)
> >>> at
> >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> >> ApplicationFilterChain.java:206)
> >>> at
> >>> org.apache.catalina.core.StandardWrapperValve.invoke(
> >> StandardWrapperValve.java:233)
> >>> at
> >>> org.apache.catalina.core.StandardContextValve.invoke(
> >> StandardContextValve.java:191)
> >>> at
> >>> org.apache.catalina.core.StandardHostValve.invoke(
> >> StandardHostValve.java:127)
> >>> at
> >>> org.apache.catalina.valves.ErrorReportValve.invoke(
> >> ErrorReportValve.java:103)
> >>> at
> >>> org.apache.catalina.core.StandardEngineValve.invoke(
> >> StandardEngineValve.java:109)
> >>> at
> >>> org.apache.catalina.connector.CoyoteAdapter.service(
> >> CoyoteAdapter.java:293)
> >>> at
> >>> org.apache.coyote.http11.Http11Processor.process(
> >> Http11Processor.java:861)
> >>> at
> >>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.
> >> process(Http11Protocol.java:620)
> >>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
> >> JIoEndpoint.java:489)
> >>> at java.lang.Thread.run(Thread.java:745)
> >>
> >>
>
>

Re: Getting NullPointerException in an attempt to boost query result by date

Posted by Erik Hatcher <er...@gmail.com>.
What’s the field and type definition of submit_date?   Could that be the issue?

Also, one thing you could do is separate the nested parsers like this:

    q={!boost b=… v=$qq}
    qq={!dismax qf=‘….’ v=$term}

Relying on `v` to be the string after the closing curly bracket is sometimes error-prone, and I tend to explicitly define `v` like this to avoid escaping and parsing hassles.

(whether you set these in the request handler or as explicit params is up to you, and keeping everything (but `term`) in the request handler definition would be the cleanest client request way to go, as you’re doing.

	Erik


> On Oct 31, 2016, at 4:19 PM, Gintautas Sulskus <gi...@gmail.com> wrote:
> 
> Hi Erik,
> 
> I have defined the query as SearchHandler:
> 
> <requestHandler name="/testSearch" class="solr.SearchHandler">
>  <lst name="defaults”>
>    <str name="q">
>      {!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}
>      {!type=dismax qf='title^10 body^5 body^1' v=$term}
>    </str>
>  </lst>
> </requestHandler>
> 
> The handler is then invoked with the following url:
> 
> /solr/core/testSearch?term=apple
> 
> The handler works if I comment out the date-boost line:
> "{!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}"
> 
> Gin
> 
> Best Wishes,
> Gintautas Sulskus
> 
> On Mon, Oct 31, 2016 at 6:15 PM, Erik Hatcher <er...@gmail.com>
> wrote:
> 
>> how’d you set “$term” - the correct way would be &term=apple on the Solr
>> request.
>> 
>> 
>>> On Oct 31, 2016, at 2:07 PM, Gintautas Sulskus <
>> gintautas.sulskus@gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I am trying to construct a timestamp-boosted query comprising two
>> weighted
>>> fields: "title" and "body":
>>> 
>>> {!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
>>> {!type=dismax qf='title^10 body^1' v=$term}
>>> 
>>> $term=apple
>>> 
>>> I expect the given example query provided above to search fields "title"
>>> and "body" using keyword "apple" and adjust the order of the results by
>> the
>>> submission date "submit_date".
>>> 
>>> However, the query just throws the NullPointerException exception: [1].
>>> Could you please help me out with this issue?
>>> 
>>> I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.
>>> 
>>> Best,
>>> Gin
>>> 
>>> [1] the exception:
>>> java.lang.NullPointerException at
>>> org.apache.lucene.queries.function.BoostedQuery.
>> hashCode(BoostedQuery.java:215)
>>> at org.apache.lucene.search.BooleanClause.hashCode(
>> BooleanClause.java:99)
>>> at java.util.AbstractList.hashCode(AbstractList.java:541) at
>>> org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:656) at
>>> org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47) at
>>> org.apache.solr.search.SolrIndexSearcher.getDocListC(
>> SolrIndexSearcher.java:1347)
>>> at
>>> org.apache.solr.search.SolrIndexSearcher.search(
>> SolrIndexSearcher.java:518)
>>> at
>>> org.apache.solr.handler.component.QueryComponent.
>> process(QueryComponent.java:485)
>>> at
>>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(
>> SearchHandler.java:218)
>>> at
>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(
>> RequestHandlerBase.java:135)
>>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
>>> org.apache.solr.servlet.SolrDispatchFilter.execute(
>> SolrDispatchFilter.java:918)
>>> at
>>> org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(
>> SolrDispatchFilter.java:481)
>>> at
>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>> SolrDispatchFilter.java:260)
>>> at
>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>> SolrDispatchFilter.java:255)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>> ApplicationFilterChain.java:235)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> ApplicationFilterChain.java:206)
>>> at
>>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(
>> SolrHadoopAuthenticationFilter.java:408)
>>> at
>>> org.apache.hadoop.security.authentication.server.
>> AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
>>> at
>>> org.apache.hadoop.security.token.delegation.web.
>> DelegationTokenAuthenticationFilter.doFilter(
>> DelegationTokenAuthenticationFilter.java:291)
>>> at
>>> org.apache.hadoop.security.authentication.server.
>> AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
>>> at
>>> org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(
>> SolrHadoopAuthenticationFilter.java:413)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>> ApplicationFilterChain.java:235)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> ApplicationFilterChain.java:206)
>>> at org.apache.solr.servlet.HostnameFilter.doFilter(
>> HostnameFilter.java:86)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>> ApplicationFilterChain.java:235)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> ApplicationFilterChain.java:206)
>>> at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(
>> StandardWrapperValve.java:233)
>>> at
>>> org.apache.catalina.core.StandardContextValve.invoke(
>> StandardContextValve.java:191)
>>> at
>>> org.apache.catalina.core.StandardHostValve.invoke(
>> StandardHostValve.java:127)
>>> at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(
>> ErrorReportValve.java:103)
>>> at
>>> org.apache.catalina.core.StandardEngineValve.invoke(
>> StandardEngineValve.java:109)
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service(
>> CoyoteAdapter.java:293)
>>> at
>>> org.apache.coyote.http11.Http11Processor.process(
>> Http11Processor.java:861)
>>> at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.
>> process(Http11Protocol.java:620)
>>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
>> JIoEndpoint.java:489)
>>> at java.lang.Thread.run(Thread.java:745)
>> 
>> 


Re: Getting NullPointerException in an attempt to boost query result by date

Posted by Gintautas Sulskus <gi...@gmail.com>.
Hi Erik,

I have defined the query as SearchHandler:

<requestHandler name="/testSearch" class="solr.SearchHandler">
  <lst name="defaults">
    <str name="q">
      {!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}
      {!type=dismax qf='title^10 body^5 body^1' v=$term}
    </str>
  </lst>
</requestHandler>

The handler is then invoked with the following url:

/solr/core/testSearch?term=apple

The handler works if I comment out the date-boost line:
"{!boost b=recip(ms(NOW/HOUR, submit_date),3.16e-11,1,1)}"

Gin

Best Wishes,
Gintautas Sulskus

On Mon, Oct 31, 2016 at 6:15 PM, Erik Hatcher <er...@gmail.com>
wrote:

> how’d you set “$term” - the correct way would be &term=apple on the Solr
> request.
>
>
> > On Oct 31, 2016, at 2:07 PM, Gintautas Sulskus <
> gintautas.sulskus@gmail.com> wrote:
> >
> > Hi,
> >
> > I am trying to construct a timestamp-boosted query comprising two
> weighted
> > fields: "title" and "body":
> >
> > {!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
> > {!type=dismax qf='title^10 body^1' v=$term}
> >
> > $term=apple
> >
> > I expect the given example query provided above to search fields "title"
> > and "body" using keyword "apple" and adjust the order of the results by
> the
> > submission date "submit_date".
> >
> > However, the query just throws the NullPointerException exception: [1].
> > Could you please help me out with this issue?
> >
> > I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.
> >
> > Best,
> > Gin
> >
> > [1] the exception:
> > java.lang.NullPointerException at
> > org.apache.lucene.queries.function.BoostedQuery.
> hashCode(BoostedQuery.java:215)
> > at org.apache.lucene.search.BooleanClause.hashCode(
> BooleanClause.java:99)
> > at java.util.AbstractList.hashCode(AbstractList.java:541) at
> > org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:656) at
> > org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47) at
> > org.apache.solr.search.SolrIndexSearcher.getDocListC(
> SolrIndexSearcher.java:1347)
> > at
> > org.apache.solr.search.SolrIndexSearcher.search(
> SolrIndexSearcher.java:518)
> > at
> > org.apache.solr.handler.component.QueryComponent.
> process(QueryComponent.java:485)
> > at
> > org.apache.solr.handler.component.SearchHandler.handleRequestBody(
> SearchHandler.java:218)
> > at
> > org.apache.solr.handler.RequestHandlerBase.handleRequest(
> RequestHandlerBase.java:135)
> > at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
> > org.apache.solr.servlet.SolrDispatchFilter.execute(
> SolrDispatchFilter.java:918)
> > at
> > org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(
> SolrDispatchFilter.java:481)
> > at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> SolrDispatchFilter.java:260)
> > at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(
> SolrDispatchFilter.java:255)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:235)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:206)
> > at
> > org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(
> SolrHadoopAuthenticationFilter.java:408)
> > at
> > org.apache.hadoop.security.authentication.server.
> AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
> > at
> > org.apache.hadoop.security.token.delegation.web.
> DelegationTokenAuthenticationFilter.doFilter(
> DelegationTokenAuthenticationFilter.java:291)
> > at
> > org.apache.hadoop.security.authentication.server.
> AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
> > at
> > org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(
> SolrHadoopAuthenticationFilter.java:413)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:235)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:206)
> > at org.apache.solr.servlet.HostnameFilter.doFilter(
> HostnameFilter.java:86)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:235)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:206)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:233)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:191)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:127)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:103)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:109)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:293)
> > at
> > org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java:861)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.
> process(Http11Protocol.java:620)
> > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
> JIoEndpoint.java:489)
> > at java.lang.Thread.run(Thread.java:745)
>
>

Re: Getting NullPointerException in an attempt to boost query result by date

Posted by Erik Hatcher <er...@gmail.com>.
how’d you set “$term” - the correct way would be &term=apple on the Solr request.


> On Oct 31, 2016, at 2:07 PM, Gintautas Sulskus <gi...@gmail.com> wrote:
> 
> Hi,
> 
> I am trying to construct a timestamp-boosted query comprising two weighted
> fields: "title" and "body":
> 
> {!boost b=recip(ms(NOW/HOUR,submit_date),3.16e-11,1,1)}
> {!type=dismax qf='title^10 body^1' v=$term}
> 
> $term=apple
> 
> I expect the given example query provided above to search fields "title"
> and "body" using keyword "apple" and adjust the order of the results by the
> submission date "submit_date".
> 
> However, the query just throws the NullPointerException exception: [1].
> Could you please help me out with this issue?
> 
> I am using Solr 4.10.3+cdh5.8.2+434 - part of Cloudera 5.8.2 package.
> 
> Best,
> Gin
> 
> [1] the exception:
> java.lang.NullPointerException at
> org.apache.lucene.queries.function.BoostedQuery.hashCode(BoostedQuery.java:215)
> at org.apache.lucene.search.BooleanClause.hashCode(BooleanClause.java:99)
> at java.util.AbstractList.hashCode(AbstractList.java:541) at
> org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:656) at
> org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47) at
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1347)
> at
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:518)
> at
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:485)
> at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
> at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2025) at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:918)
> at
> org.apache.solr.servlet.SolrDispatchFilter.httpSolrCall(SolrDispatchFilter.java:481)
> at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
> at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:255)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.solr.servlet.SolrHadoopAuthenticationFilter$2.doFilter(SolrHadoopAuthenticationFilter.java:408)
> at
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
> at
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:291)
> at
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
> at
> org.apache.solr.servlet.SolrHadoopAuthenticationFilter.doFilter(SolrHadoopAuthenticationFilter.java:413)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.solr.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:745)