We keep getting this in our Tomcat/SOLR Logs and I was wondering if a simple schema change will alleviate this issue:
INFO - 2017-03-06 07:26:58.751; org.apache.solr.core.SolrCore; [Client_AdvanceAutoParts] webapp=/solr path=/select params={fl=candprofileid,+candid&start=0&q=*:*&wt=json&fq=issearchable:1+AND+cpentitymodifiedon:[2017-01-20T00:00:00.000Z+TO+*]+AND+clientreqid:17672+AND+folderid:132+AND+(engagedid_s:(0)+AND+atleast21_s:(1))+AND+(preferredlocations_s:(3799H))&rows=1000} status=500 QTime=1480 ERROR - 2017-03-06 07:26:58.766; org.apache.solr.common.SolrException; null:java.lang.IllegalStateException: field "preferredlocations_s" was indexed without position data; cannot run PhraseQuery (term=3799) at org.apache.lucene.search.PhraseQuery$PhraseWeight.scorer(PhraseQuery.java:277) at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:351) at org.apache.lucene.search.Weight.bulkScorer(Weight.java:131) at org.apache.lucene.search.BooleanQuery$BooleanWeight.bulkScorer(BooleanQuery.java:313) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:618) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297) at org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1158) at org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:846) at org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1004) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1517) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1397) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:478) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:461) 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:1952) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:774) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) The field in question "preferredlocations_s" is not defined in schema.xml explicitly, but we have a dynamicField schema entry that covers it. <dynamicField name="*_s" type="text_en_splitting" indexed="true" stored="true" /> Would adding omitTermFreqAndPositions="false" to this schema line help out here? Should I explicitly define this "preferredlocations_s" field in the schema instead and add it there? We do have a handful of dynamic fields that all get covered by this rule, but it seems the "preferredlocations_s" field is the only one throwing errors. All it stores is a CSV string with location IDs in it.