Hello! I am doing wildcard queries to satisfy our search type ahead requirement for both single and mutli word (phrases) queries. I just noticed this error in the logs.
2018-08-22 16:36:48.433 INFO (qtp1654589030-18) [ x:suggestions] o.a.s.c.S.Request [suggestions] webapp=/solr path=/select params={q={!complexphrase}"traffic+c*"} status=500 QTime=7 2018-08-22 16:36:48.433 ERROR (qtp1654589030-18) [ x:suggestions] o.a.s.s.HttpSolrCall null:java.lang.IllegalStateException: field "suggestion" was indexed without position data; cannot run SpanTermQuery (term=traffic) The error is only thrown when I search for phrases but works fine for single word queries. This causes the error: q={!complexphrase}"traffic c*" This runs fine: q={!complexphrase}"traffic*" <field name="suggestion" type="string" stored="true" indexed="true" required="true" /> <fieldType name="string" class="solr.StrField" sortMissingLast="true" /> How can I troubleshoot this? The field 'suggestion' is stored as a StrField, could that be the reason? Full stack trace: 2018-08-22 16:55:49.164 INFO (qtp1654589030-17) [ x:suggestions] o.a.s.c.S.Request [suggestions] webapp=/solr path=/select params={q={!complexphrase}"traffic+c*"} status=500 QTime=6 2018-08-22 16:55:49.164 ERROR (qtp1654589030-17) [ x:suggestions] o.a.s.s.HttpSolrCall null:java.lang.IllegalStateException: field "suggestion" was indexed without position data; cannot run SpanTermQuery (term=traffic) at org.apache.lucene.search.spans.SpanTermQuery$SpanTermWeight.getSpans(SpanTermQuery.java:119) at org.apache.lucene.search.spans.SpanNearQuery$SpanNearWeight.getSpans(SpanNearQuery.java:214) at org.apache.lucene.search.spans.SpanWeight.scorer(SpanWeight.java:121) at org.apache.lucene.search.spans.SpanWeight.scorer(SpanWeight.java:38) at org.apache.lucene.search.Weight.bulkScorer(Weight.java:147) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:657) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:462) at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:215) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1600) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1417) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:584) at org.apache.solr.handler.component.QueryComponent.doProcessUngroupedSearch(QueryComponent.java:1435) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:375) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:295) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:177) at org.apache.solr.core.SolrCore.execute(SolrCore.java:2503) at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:710) at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:516) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:382) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:326) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) at org.eclipse.jetty.server.Server.handle(Server.java:534) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) at java.lang.Thread.run(Thread.java:748) Thanks! Harinder ________________________________ NOTICE - This communication is intended ONLY for the use of the person or entity named above and may contain information that is confidential or legally privileged. If you are not the intended recipient named above or a person responsible for delivering messages or communications to the intended recipient, YOU ARE HEREBY NOTIFIED that any use, distribution, or copying of this communication or any of the information contained in it is strictly prohibited. If you have received this communication in error, please notify us immediately by telephone and then destroy or delete this communication, or return it to us by mail if requested by us. The City of Calgary thanks you for your attention and co-operation.