Hello everyone! - I´m using Solr 4.1.0.
- Yes, without the sort the query works perfectly. - The fieldType is as follows: <field name="geolocation" type="location_rpt" indexed="true" stored="true" multiValued="true" /> * * <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" spatialContextFactory="com.spatial4j.core.context.jts.JtsSpatialContextFactory" distErrPct="0.025" maxDistErr="0.000009" units="degrees" /> - The error trace from Solr: Mar 6, 2013 10:02:29 AM org.apache.solr.common.SolrException log SEVERE: org.apache.solr.common.SolrException: sort param could not be parsed as a query, and is not a field that exists in the index: geodist() at org.apache.solr.search.QueryParsing.parseSort(QueryParsing.java:340) at org.apache.solr.search.QParser.getSort(QParser.java:281) at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:123) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:187) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1816) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:448) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:269) 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:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.solr.common.SolrException: A ValueSource isn't directly available from this field. Instead try a query using the distance as the score. at org.apache.solr.schema.AbstractSpatialFieldType.getValueSource(AbstractSpatialFieldType.java:219) at org.apache.solr.search.function.distance.HaversineConstFunction.parseSfield(HaversineConstFunction.java:168) at org.apache.solr.search.function.distance.HaversineConstFunction.access$200(HaversineConstFunction.java:47) at org.apache.solr.search.function.distance.HaversineConstFunction$1.parse(HaversineConstFunction.java:104) at org.apache.solr.search.FunctionQParser.parseValueSource(FunctionQParser.java:352) at org.apache.solr.search.FunctionQParser.parse(FunctionQParser.java:68) at org.apache.solr.search.QParser.getQuery(QParser.java:142) at org.apache.solr.search.QueryParsing.parseSort(QueryParsing.java:271) ... 22 more I would like to sort by distance and also to return that distance as a fl parameter inside the response. Thank you very much. Regards, - Luis Cappa 2013/3/5 Chris Hostetter <hossman_luc...@fucit.org> > > 1) which version of solr are you using? > 2) what is the field & fieldtype for "geolocation" > 2) can you try changing your query to "q={!func}geodist()" to verify that > the function works at all? > > > > : Date: Tue, 5 Mar 2013 19:30:33 +0100 > : From: Luis Cappa Banda <luisca...@gmail.com> > : Reply-To: solr-user@lucene.apache.org > : To: solr-user@lucene.apache.org > : Subject: Re: Solr 4.1: problems with Spatial Search. > : > : Without the sort it works perfectly, and there are no more error > messages, > : just the one I copy&pasted, :-( > : El 05/03/2013 19:05, "David Smiley (@MITRE.org)" <dsmi...@mitre.org> > : escribió: > : > : > Hmm; weird. It looks right. Does it work without the sort? -- i.e. > does > : > the > : > filter work? Are there more interesting looking error messages output > by > : > Solr? > : > > : > > : > Rakudten wrote > : > > Hello! > : > > > : > > I´m trying to sort by geodist() distance, but it seems that I can´t: > : > > > : > > *The query:* > : > > > : > > > : > > http://192.168.1.129:8080/geo/zones/select?q=*:*&fq={!geofilt}&sfield=geolocation&pt=38.96442,-3.89047&d=10&wt=json&start=0&rows=10&sort=geodist()%20asc > : > > > : > > *The response:* > : > > * > : > > * > : > > > : > > { > : > > responseHeader: { > : > > status: 400, > : > > QTime: 2, > : > > params: { > : > > d: "10", > : > > sort: "geodist() asc", > : > > start: "0", > : > > q: "*:*", > : > > sfield: "geolocation", > : > > pt: "38.96442,-3.89047", > : > > wt: "json", > : > > fq: "{!geofilt}", > : > > rows: "10" > : > > } > : > > }, > : > > error: { > : > > msg: "sort param could not be parsed as a query, and is not a field > that > : > > exists in the index: geodist()", > : > > code: 400 > : > > } > : > > } > : > > > : > > I´ve read several times the documentation and it seems that this is > the > : > > correct way to search filtering by coordinates and sorting by > distance, > : > > but > : > > I doesn´t work. Any suggestions? > : > > > : > > Also I´ve tried to return the distance as a field via fl params, but > I > : > > couldn´t. It may help me a lot if anyone could tell me how to do it. > : > > > : > > Thank you very much in advance! > : > > > : > > > : > > Best regards, > : > > > : > > > : > > - Luis Cappa > : > > : > > : > > : > > : > > : > ----- > : > Author: > : > http://www.packtpub.com/apache-solr-3-enterprise-search-server/book > : > -- > : > View this message in context: > : > > http://lucene.472066.n3.nabble.com/Solr-4-1-problems-with-Spatial-Search-tp4044868p4044958.html > : > Sent from the Solr - User mailing list archive at Nabble.com. > : > > : > > -Hoss