My bad. Thanks, Erik. Gin
Best Wishes, Gintautas Sulskus On Tue, Nov 1, 2016 at 3:26 PM, Erik Hatcher <erik.hatc...@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 <gintautas.suls...@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 <erik.hatc...@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.suls...@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 <erik.hatc...@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.suls...@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) > >>>> > >>>> > >> > >> >