cancel
Showing results for 
Search instead for 
Did you mean: 

solr query exception while fetching the content between certain range

skumar_us
Champ in-the-making
Champ in-the-making
I need to fetch the document between certain range say 40 to 75,when I enter my:num:"40".."70"(here my is content model and num is the property)in the search criteria I am getting the below error

Query:
((PATH:"/app:company_home/st:sites/cm:my/*//*" AND (TYPE:"my:document" AND (my:num:"40".."70" )) ) AND -TYPE:"cm:thumbnail" AND -TYPE:"cm:failedThumbnail" AND -TYPE:"cm:rating") AND NOT ASPECT:"sys:hidden"
Sortby:
2013-10-17 23:34:21,125  ERROR [solr.core.SolrCore] [http-8443-6] org.alfresco.repo.search.impl.parsers.FTSQueryException: 09170063 line 1:29
no viable alternative at input ':'
    (decision=60 state 1) decision=<<667:1: ftsFieldGroupTest : ( ( ftsFieldGroupProximity )=> ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupExactPhrase ( ( slop )=> slop )? -> ^( FG_EXACT_PHRASE ftsFieldGroupExactPhrase ( slop )? ) | ftsFieldGroupTokenisedPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupTokenisedPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupDisjunction RPAREN -> ftsFieldGroupDisjunction );>>
   [ftsQuery, ftsDisjunction, ftsImplicitDisjunction, ftsExplicitConjunction, ftsPrefixed, ftsTest, ftsFieldGroup, ftsFieldGroupDisjunction, ftsFieldGroupImplicitDisjunction, ftsFieldGroupExplicitConjunction, ftsFieldGroupPrefixed, ftsFieldGroupTest]
   at org.alfresco.repo.search.impl.parsers.FTSQueryParser.buildFTS(FTSQueryParser.java:124)
   at org.alfresco.solr.AlfrescoSolrDataModel.getFTSQuery(AlfrescoSolrDataModel.java:1083)
   at org.alfresco.solr.query.AlfrescoFTSQParserPlugin$AlfrescoFTSQParser.parse(AlfrescoFTSQParserPlugin.java:81)
   at org.apache.solr.search.QParser.getQuery(QParser.java:131)
   at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:89)
   at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:174)
   at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
   at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316)
   at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)
   at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:241)
   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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   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:859)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:662)
Caused by: NoViableAltException(10@[667:1: ftsFieldGroupTest : ( ( ftsFieldGroupProximity )=> ftsFieldGroupProximity -> ^( FG_PROXIMITY ftsFieldGroupProximity ) | ftsFieldGroupTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_TERM ftsFieldGroupTerm ( fuzzy )? ) | ftsFieldGroupExactTerm ( ( fuzzy )=> fuzzy )? -> ^( FG_EXACT_TERM ftsFieldGroupExactTerm ( fuzzy )? ) | ftsFieldGroupPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupPhrase ( slop )? ) | ftsFieldGroupExactPhrase ( ( slop )=> slop )? -> ^( FG_EXACT_PHRASE ftsFieldGroupExactPhrase ( slop )? ) | ftsFieldGroupTokenisedPhrase ( ( slop )=> slop )? -> ^( FG_PHRASE ftsFieldGroupTokenisedPhrase ( slop )? ) | ftsFieldGroupSynonym ( ( fuzzy )=> fuzzy )? -> ^( FG_SYNONYM ftsFieldGroupSynonym ( fuzzy )? ) | ftsFieldGroupRange -> ^( FG_RANGE ftsFieldGroupRange ) | LPAREN ftsFieldGroupDisjunction RPAREN -> ftsFieldGroupDisjunction );])
   at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
   at org.antlr.runtime.DFA.predict(DFA.java:116)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsFieldGroupTest(FTSParser.java:9013)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsFieldGroupPrefixed(FTSParser.java:8610)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsFieldGroupExplicitConjunction(FTSParser.java:7985)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsFieldGroupImplicitDisjunction(FTSParser.java:7871)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsFieldGroupDisjunction(FTSParser.java:7542)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsFieldGroup(FTSParser.java:7083)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsTest(FTSParser.java:3038)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsPrefixed(FTSParser.java:2327)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsExplicitConjunction(FTSParser.java:1529)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsImplicitDisjunction(FTSParser.java:1386)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsDisjunction(FTSParser.java:900)
   at org.alfresco.repo.search.impl.parsers.FTSParser.ftsQuery(FTSParser.java:328)
   at org.alfresco.repo.search.impl.parsers.FTSQueryParser.buildFTS(FTSQueryParser.java:114)
   … 22 more
6 REPLIES 6

mitpatoliya
Star Collaborator
Star Collaborator
This
(my:num:"40".."70" )
should be replaced with following part

(@my\:num:[40 TO 70])

Hi Mits,
tried with (@my\:num:[40 TO 70]) ,no success..got the same error with message"no viable alternative at input '@'"

I believe I need to pass it as num[40 to 70]
QuerySmiley Sad(PATH:"/app:company_home/st:sites/cm:my/*//*" AND (TYPE:"my:document" AND (num[40 to 70] )) ) AND -TYPE:"cm:thumbnail" AND -TYPE:"cm:failedThumbnail" AND -TYPE:"cm:rating") AND NOT ASPECT:"sys:hidden"

I am getting the below exception:
2013-10-18 14:53:44,646  ERROR [solr.core.SolrCore] [http-8443-7] java.lang.UnsupportedOperationException: Range is not supported against ml-text
   at org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser.getRangeQuery(AbstractLuceneQueryParser.java:2377)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.functions.LuceneFTSRange.addComponent(LuceneFTSRange.java:76)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneFunctionalConstraint.addComponent(LuceneFunctionalConstraint.java:58)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneDisjunction.addComponent(LuceneDisjunction.java:66)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneDisjunction.addComponent(LuceneDisjunction.java:66)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneConjunction.addComponent(LuceneConjunction.java:70)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneConjunction.addComponent(LuceneConjunction.java:70)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneConjunction.addComponent(LuceneConjunction.java:70)
   at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneConjunction.addComponent(LuceneConjunction.java:70)

mitpatoliya
Star Collaborator
Star Collaborator
The one I gave you is the correct one only.
Actually I can see many other errors as well in your query which may be causing issues.

First is issue with your path It should be as follow
PATH:"/app:company_home/st:sites/cm:my//*"

Then you are using combination of "AND", "-" and "NOT" which makes it prone to syntactical error are you able to execute this through node browser?

I don't see any issue with the path as it is working fine when i search with the exact number.the exception I am getting only when i try with a range.
the below query is working fine.
((PATH:"/app:company_home/st:sites/cm:my/*//*" AND (TYPE:"my:document" AND (70 )) ) AND -TYPE:"cm:thumbnail" AND -TYPE:"cm:failedThumbnail" AND -TYPE:"cm:rating") AND NOT ASPECT:"sys:hidden"

Also your query is returning the results when i try from node browser.
but when i try from search textbox then only it is throwing the exception.

kaynezhang
World-Class Innovator
World-Class Innovator
<strong>Range is not supported against ml-text<strong>, check your custom type ,make sure my:num property  not d:mltext type

skumar_us
Champ in-the-making
Champ in-the-making
I am not using d:mltext,the datatype for num property is d:int,but still it is throwing error as "Range is not supported against ml-text".So strange !!