I think i agree. Is this something that should be resolved in Solr or Lucene?
Thanks -----Original message----- > From:Jack Krupansky <j...@basetechnology.com> > Sent: Tue 27-Nov-2012 17:47 > To: solr-user@lucene.apache.org > Subject: Re: positions and qf parameter in (e)dismax > > That is exactly the exception I would expect to see given your scenario. The > fact that the situation may have been silently ignored in the past was > surely an oversight that has since been corrected. > > My proposal would be that if the query parser (actually the code that > generates PhraseQuery) encounters a phrase and the field does not have > positions, a BooleanQuery with MUST would be generated instead of the > PhraseQuery. > > -- Jack Krupansky > > -----Original Message----- > From: Markus Jelsma > Sent: Tuesday, November 27, 2012 4:27 AM > To: solr-user@lucene.apache.org > Subject: RE: positions and qf parameter in (e)dismax > > Hi - no we're not getting any errors because we enabled positions on all > fields that are also listed in the qf-parameter. If we don't, and send a > phrase query we would get an error such as: > > java.lang.IllegalStateException: field "h1" was indexed without position > data; cannot run > PhraseQuery (term=a) > at > org.apache.lucene.search.PhraseQuery$PhraseWeight.scorer(PhraseQuery.java:274) > at > org.apache.lucene.search.DisjunctionMaxQuery$DisjunctionMaxWeight.scorer(DisjunctionMaxQuery.java:160) > at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:589) > at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:280) > at > org.apache.solr.search.SolrIndexSearcher.getDocListAndSetNC(SolrIndexSearcher.java:1518) > at > org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1265) > at > org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:384) > at > org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:411) > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:204) > at > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1555) > at > org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:442) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:263) > > We have fields in qf that we don't need to be searched for explicit phrase > queries so we'd like to omit positions, offsets and so on. But if we do, > we'll get the above error for explicit phrase queries. > > Thanks > > > -----Original message----- > > From:Chris Hostetter <hossman_luc...@fucit.org> > > Sent: Tue 27-Nov-2012 02:15 > > To: solr-user@lucene.apache.org > > Subject: Re: positions and qf parameter in (e)dismax > > > > > > : We do not want to store positions for some fields or omit term and > > : positions (or just tf) for other fields. Obviously we don't need/want > > : explicit phrase matching on the fields we want to configure without > > : positions, but (e)dismax doesn't let us. All text fields configured in > > : the QF parameter are eligible for explicit phrase matching and need to > > : have positions. We're looking for a way to disable what we don't need > > : and prevent Solr from searching fields for phrases that we don't want to > > : be searched on. > > > > I'm not understanding the problem ... is there a specific error you are > > getting? can you please post that error along with your schema and an > > example of a request that triggers the problem? > > > > -Hoss > > > >