[jira] [Updated] (SOLR-7304) Spellcheck.collate Sometimes Invalidates Range Queries
[ https://issues.apache.org/jira/browse/SOLR-7304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James Dyer updated SOLR-7304: - Attachment: SOLR-7304.patch Here is a patch with the fix. I will commit this next week if everything checks out ok. > Spellcheck.collate Sometimes Invalidates Range Queries > -- > > Key: SOLR-7304 > URL: https://issues.apache.org/jira/browse/SOLR-7304 > Project: Solr > Issue Type: Bug > Components: spellchecker >Affects Versions: 4.9 > Environment: Jetty > Debian >Reporter: Hakim >Priority: Minor > Labels: range, spellchecker > Fix For: 4.9 > > Attachments: SOLR-7304.patch, SOLR-7304.patch > > > I have an error with SpellCheckComponent since I have added this > SearchComponent to /select RequestHandler (see solrconfig.xml). > > > >explicit >10 >titre > >on >default >true >3 >3 >5 >true >true >10 >1 >false >false > > The error seems to be related to range queries, with the [.. to ..] written > in lowercase. The query performed by the SpellCheck component using 'to' in > lower case throws the RANGE_GOOP error. > 101615 [qtp2145626092-38] WARN org.apache.solr.spelling.SpellCheckCollator > - Exception trying to re-query to check if a spell check possibility would > return any hits. > org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError: > Cannot parse 'offredemande:offre AND categorieparente:"audi" AND > prix:[216 to 2250008} AND anneemodele:[2003 to 2008} AND etat:"nauf"': > Encountered " "2250008 "" at line 1, column 68. > Was expecting one of: > "]" ... > "}" ... > at > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:205) > at > org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:141) > at > org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:230) > at > org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:197) > 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:1962) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1645) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) > at > org.eclipse.jetty.server.handler.IPAccessHandler.handle(IPAccessHandler.java:220) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98) > at org.eclipse.jetty.server.Server.handle(Server.java:461) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244) > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.solr.search.SyntaxError: Cannot parse > 'offredemande:offre AND
[jira] [Updated] (SOLR-7304) Spellcheck.collate Sometimes Invalidates Range Queries
[ https://issues.apache.org/jira/browse/SOLR-7304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James Dyer updated SOLR-7304: - Attachment: SOLR-7304.patch Attached is a patch with a failing unit test. To reproduce this issue we use "spellcheck.alternativeTermCount" while having the word "to" in the index. We also use a "queryAnalyzerFieldType" that performs lowercasing. The test case queries: bq. id:[1 TO 10] AND lowerfilt:lovw And expects back: bq. id:[1 TO 10] AND lowerfilt:love But instead gets: id:[1 to 10] AND lowerfilt:love Both "to" and "and" are in the index. However, SpellingQueryConverter treats the boolean AND/OR/NOT operators special. I think the easiest fix here is to have S.Q.C. also treat "TO" special, at least in cases where it occurs somewhat after [ or { and somewhat before ] or }. > Spellcheck.collate Sometimes Invalidates Range Queries > -- > > Key: SOLR-7304 > URL: https://issues.apache.org/jira/browse/SOLR-7304 > Project: Solr > Issue Type: Bug > Components: spellchecker >Affects Versions: 4.9 > Environment: Jetty > Debian >Reporter: Hakim >Priority: Minor > Labels: range, spellchecker > Fix For: 4.9 > > Attachments: SOLR-7304.patch > > > I have an error with SpellCheckComponent since I have added this > SearchComponent to /select RequestHandler (see solrconfig.xml). > > > >explicit >10 >titre > >on >default >true >3 >3 >5 >true >true >10 >1 >false >false > > The error seems to be related to range queries, with the [.. to ..] written > in lowercase. The query performed by the SpellCheck component using 'to' in > lower case throws the RANGE_GOOP error. > 101615 [qtp2145626092-38] WARN org.apache.solr.spelling.SpellCheckCollator > - Exception trying to re-query to check if a spell check possibility would > return any hits. > org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError: > Cannot parse 'offredemande:offre AND categorieparente:"audi" AND > prix:[216 to 2250008} AND anneemodele:[2003 to 2008} AND etat:"nauf"': > Encountered " "2250008 "" at line 1, column 68. > Was expecting one of: > "]" ... > "}" ... > at > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:205) > at > org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:141) > at > org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:230) > at > org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:197) > 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:1962) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1645) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) > at > org.eclipse.jetty.server.handler.IPAccessHandler.handle(IPAccessHandler.java:220) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98) > at org.eclipse.jetty.server.Server.handle(Server.java:461) > at
[jira] [Updated] (SOLR-7304) Spellcheck.collate Sometimes Invalidates Range Queries
[ https://issues.apache.org/jira/browse/SOLR-7304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James Dyer updated SOLR-7304: - Summary: Spellcheck.collate Sometimes Invalidates Range Queries (was: SyntaxError in SpellcheckComponent) > Spellcheck.collate Sometimes Invalidates Range Queries > -- > > Key: SOLR-7304 > URL: https://issues.apache.org/jira/browse/SOLR-7304 > Project: Solr > Issue Type: Bug > Components: spellchecker >Affects Versions: 4.9 > Environment: Jetty > Debian >Reporter: Hakim >Priority: Minor > Labels: range, spellchecker > Fix For: 4.9 > > > I have an error with SpellCheckComponent since I have added this > SearchComponent to /select RequestHandler (see solrconfig.xml). > > > >explicit >10 >titre > >on >default >true >3 >3 >5 >true >true >10 >1 >false >false > > The error seems to be related to range queries, with the [.. to ..] written > in lowercase. The query performed by the SpellCheck component using 'to' in > lower case throws the RANGE_GOOP error. > 101615 [qtp2145626092-38] WARN org.apache.solr.spelling.SpellCheckCollator > - Exception trying to re-query to check if a spell check possibility would > return any hits. > org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError: > Cannot parse 'offredemande:offre AND categorieparente:"audi" AND > prix:[216 to 2250008} AND anneemodele:[2003 to 2008} AND etat:"nauf"': > Encountered " "2250008 "" at line 1, column 68. > Was expecting one of: > "]" ... > "}" ... > at > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:205) > at > org.apache.solr.spelling.SpellCheckCollator.collate(SpellCheckCollator.java:141) > at > org.apache.solr.handler.component.SpellCheckComponent.addCollationsToResponse(SpellCheckComponent.java:230) > at > org.apache.solr.handler.component.SpellCheckComponent.process(SpellCheckComponent.java:197) > 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:1962) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1645) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:564) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) > at > org.eclipse.jetty.server.handler.IPAccessHandler.handle(IPAccessHandler.java:220) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98) > at org.eclipse.jetty.server.Server.handle(Server.java:461) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244) > at > org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.solr.search.SyntaxError: Cannot parse > 'offredemande:offre AND categorieparente:"audi" AND prix:[216 to 2250008} > AND anneemodele:[2003 to