Re: SOLR4 Spatial sorting and query string

2013-08-19 Thread David Smiley (@MITRE.org)
This is a known limitation.  From CHANGES.txt:
* SOLR-2345: Enhanced geodist() to work with an RPT field, provided that the
  field is referenced via 'sfield' and the query point is constant.
  (David Smiley)

The reason why that limitation is there relates to the fact that the
function query parser will attempt to resolve the field name if it's
referenced as an argument, and that'll fail because you can't get a
ValueSource from an RPT field because a ValueSource is a single-valued
construct and RPT isn't limited in that way

~ David


Billnbell wrote
 David,
 
 We noticed in 4.5 that sort=geodist(store_geohash) asc does not work
 anymore. It works only if we: sfield=store_geohashsort=geodist() asc
 
 Thanks.





-
 Author: http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4085587.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SOLR4 Spatial sorting and query string

2013-08-17 Thread William Bell
David,

We noticed in 4.5 that sort=geodist(store_geohash) asc does not work
anymore. It works only if we: sfield=store_geohashsort=geodist() asc

Thanks.


On Thu, Aug 15, 2013 at 9:10 AM, David Smiley (@MITRE.org) 
dsmi...@mitre.org wrote:

 Hi Roy,

 You'll have to calculate this client-side.  I am aware of this conundrum
 and
 I put up a TODO JIRA item for it here months ago:
 https://issues.apache.org/jira/browse/SOLR-4633It actually shouldn't
 be
 that hard to do.

 ~ David


 roySolr wrote
  Hello David,
 
  The first months there will be not that many points in a doc, i will keep
  the topic in mind!
 
  The next step is that i want to now which location matched my query.
  Example:
 
  Product A is available in 3 stores, the doc looks like this:
 /
  doc
  str name=productname
  Product A
  /str
  arr name='store_coordinates'
 
  str
  store1_geo
  /str
 
  str
  store2_geo
  /str
 
  str
  store3_geo
  /str
  /arr
  arr name=storeinfo
  str
  London#store1_geo
  /str
  str
  Amsterdam#store2_geo
  /str
  str
  New York#store3_geo
  /str
  /arr
  /doc
 /
 
  I query the index with my location set to Berlin and a radius of 250km. I
  know that this result gets back on the first place because it's close to
  Amsterdam(store2_geo). But normally, How can i know which one matched my
  query as closest point? Is it possible to get this back? I can do it in
 my
  application but with 200 stores in a doc i don't think it's the best
  solution.
 
  Thanks,
 
  Roy





 -
  Author:
 http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
 --
 View this message in context:
 http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4084816.html
 Sent from the Solr - User mailing list archive at Nabble.com.




-- 
Bill Bell
billnb...@gmail.com
cell 720-256-8076


Re: SOLR4 Spatial sorting and query string

2013-08-15 Thread roySolr
Hello David,

The first months there will be not that many points in a doc, i will keep
the topic in mind!

The next step is that i want to now which location matched my query.
Example:

Product A is available in 3 stores, the doc looks like this:

/doc
str name=productnameProduct A/str
arr name='store_coordinates'
  strstore1_geo/str
  strstore2_geo/str
  strstore3_geo/str
/arr
arr name=storeinfo
strLondon#store1_geo/str
strAmsterdam#store2_geo/str
strNew York#store3_geo/str
/arr
/doc/

I query the index with my location set to Berlin and a radius of 250km. I
know that this result gets back on the first place because it's close to
Amsterdam(store2_geo). But normally, How can i know which one matched my
query as closest point? Is it possible to get this back? I can do it in my
application but with 200 stores i don't think it's the best solution.

Thanks,

Roy



--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4084795.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SOLR4 Spatial sorting and query string

2013-08-15 Thread David Smiley (@MITRE.org)
Hi Roy,

You'll have to calculate this client-side.  I am aware of this conundrum and
I put up a TODO JIRA item for it here months ago: 
https://issues.apache.org/jira/browse/SOLR-4633It actually shouldn't be
that hard to do.

~ David


roySolr wrote
 Hello David,
 
 The first months there will be not that many points in a doc, i will keep
 the topic in mind!
 
 The next step is that i want to now which location matched my query.
 Example:
 
 Product A is available in 3 stores, the doc looks like this:
/
 doc
 str name=productname
 Product A
 /str
 arr name='store_coordinates'
   
 str
 store1_geo
 /str
   
 str
 store2_geo
 /str
   
 str
 store3_geo
 /str
 /arr
 arr name=storeinfo
 str
 London#store1_geo
 /str
 str
 Amsterdam#store2_geo
 /str
 str
 New York#store3_geo
 /str
 /arr
 /doc
/
 
 I query the index with my location set to Berlin and a radius of 250km. I
 know that this result gets back on the first place because it's close to
 Amsterdam(store2_geo). But normally, How can i know which one matched my
 query as closest point? Is it possible to get this back? I can do it in my
 application but with 200 stores in a doc i don't think it's the best
 solution.
 
 Thanks,
 
 Roy





-
 Author: http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4084816.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SOLR4 Spatial sorting and query string

2013-08-14 Thread roySolr
Great, it works very well. In solr 4.5 i will use geodist() again!

Thanks David



--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4084487.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SOLR4 Spatial sorting and query string

2013-08-14 Thread roySolr
Hello,

I have a question about performance with a lot of points and spatial search.
First i will explain my situation:

We have some products data and want to store every geo location of stores
that sells this product.
I use a multivalued coordinates field with the geo data:

arr name=store_coordinates
 strlat,long/str
 strlat,long/str
 strlat,long/str
 strlat,long/str 
 strlat,long/str
/arr

The config:

*field name=store_coordinates type=location_rpt indexed=true
stored=true multiValued=true/

fieldType name=location_rpt
class=solr.SpatialRecursivePrefixTreeFieldType distErrPct=0.025
maxDistErr=0.09 units=degrees/*

When i search for a product term i want only the products that are nearby
the given location. So i used to following query:

fq=_query_:{!geofilt sfield=store_coordinates pt=locatonlat,locationlong
d=25} 

It works great but my question is: Will it work quick and smooth with +1000
stores in my store_coordinates field?

Any help is appreciated
Thanks,

Roy



--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4084521.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SOLR4 Spatial sorting and query string

2013-08-14 Thread Smiley, David W.
Roy,

How fast/slow this is is dependent on the total number of points in
documents that match the search results.  If one of those documents has
1000 points but most have a handful then it isn't such a big deal.  The
bigger problem is: https://issues.apache.org/jira/browse/LUCENE-4698

~ David

On 8/14/13 6:45 AM, roySolr royrutten1...@gmail.com wrote:

Hello,

I have a question about performance with a lot of points and spatial
search.
First i will explain my situation:

We have some products data and want to store every geo location of stores
that sells this product.
I use a multivalued coordinates field with the geo data:

arr name=store_coordinates
 strlat,long/str
 strlat,long/str
 strlat,long/str
 strlat,long/str
 strlat,long/str
/arr

The config:

*field name=store_coordinates type=location_rpt indexed=true
stored=true multiValued=true/

fieldType name=location_rpt
class=solr.SpatialRecursivePrefixTreeFieldType distErrPct=0.025
maxDistErr=0.09 units=degrees/*

When i search for a product term i want only the products that are nearby
the given location. So i used to following query:

fq=_query_:{!geofilt sfield=store_coordinates pt=locatonlat,locationlong
d=25} 

It works great but my question is: Will it work quick and smooth with
+1000
stores in my store_coordinates field?

Any help is appreciated
Thanks,

Roy



--
View this message in context:
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-
tp4084318p4084521.html
Sent from the Solr - User mailing list archive at Nabble.com.



SOLR4 Spatial sorting and query string

2013-08-13 Thread roySolr
Hello,

I use the following distance sorting of SOLR
4(solr.SpatialRecursivePrefixTreeFieldType):

fl=*,scoresort=score ascq={!geofilt score=distance filter=false
sfield=coords pt=54.729696,-98.525391 d=10}  

(from the tutorial on
http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4)

Now i want to query on a searchstring and still want to sort on distance.
How can i combine this in above solr request? When i add something to the
q= it doesn't work. I tried _query_ subquery and other stuff but i don't
get it working

I appreciate any help,
Thanks



--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SOLR4 Spatial sorting and query string

2013-08-13 Thread David Smiley (@MITRE.org)
Hi Roy.

Using the example schema and data, and copying the store field to
store_rpt indexed with location_rpt field type, try this query:

http://localhost:8983/solr/select?indent=truefl=name,storeq=*:*sort=query%28{!geofilt%20score=distance%20filter=false%20sfield=store_rpt%20pt=45.15,-93.85%20d=0%20v=%27%27}%29%20asc

sort spec without url encoding:  query({!geofilt score=distance filter=false
sfield=store_rpt d=0 v=''}) asc

One of the tricks there is that it's sorting on the query() function query,
which references a query that has its score used as the result of query(). 
And you put a spatial query in there (note: score=distance only works with
rpt), and voila.  The fact that v='' is needed appears to be a Solr bug.  I
realize this is super awkward, so this approach isn't well documented if at
all.  In Solr 4.5 you can simply use geodist().

Note: if you have only one point per document, I recommend sorting by
LatLonType.

~ David


roySolr wrote
 Hello,
 
 I use the following distance sorting of SOLR
 4(solr.SpatialRecursivePrefixTreeFieldType):
 
 fl=*,scoresort=score ascq={!geofilt score=distance filter=false
 sfield=coords pt=54.729696,-98.525391 d=10}  
 
 (from the tutorial on
 http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4)
 
 Now i want to query on a searchstring and still want to sort on distance.
 How can i combine this in above solr request? When i add something to the
 q= it doesn't work. I tried _query_ subquery and other stuff but i don't
 get it working
 
 I appreciate any help,
 Thanks





-
 Author: http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
--
View this message in context: 
http://lucene.472066.n3.nabble.com/SOLR4-Spatial-sorting-and-query-string-tp4084318p4084453.html
Sent from the Solr - User mailing list archive at Nabble.com.