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

Reply via email to