Re: Spatial filtering

2010-07-20 Thread Olivier Ricordeau



Le 20/07/2010 04:18, Lance Norskog a écrit :

Add the debugQuery=true parameter and it will show you the Lucene
query tree, and how each document is evaluated. This can help with the
more complex queries.


Do you see something wrong?

 [debug] = Array
(
[rawquerystring] = *:*
[querystring] = *:*
[parsedquery] = MatchAllDocsQuery(*:*)
[parsedquery_toString] = *:*
[explain] = Array
(
[doc_45269] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
  1.0 = queryNorm

[doc_50206] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
  1.0 = queryNorm

[doc_50396] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
  1.0 = queryNorm

[doc_51199] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
  1.0 = queryNorm

[]

)

[QParser] = LuceneQParser
[filter_queries] = Array
(
[0] = +object_type:Concert 
+date:[2010-07-20T00:00:00Z TO 2011-07-20T23:59:59Z] +{!sfilt 
fl=coords_lat_lon,units=km,meas=hsin}

)

[parsed_filter_queries] = Array
(
[0] = +object_type:Concert +date:[127958400 TO 
1311206399000] +name:{!sfilt TO fl=coords_lat_lon,units=km,meas=hsin}

)

[...]

I'm not sure about the parsed_filter_queries entry. It looks like the 
+{!sfilt fl=coords_lat_lon,units=km,meas=hsin} is not well interpreted 
(seems like it's interpreted as a range). Does anyone know what the 
right syntax? This is not documented...


Cheers,
Olivier



On Mon, Jul 19, 2010 at 3:35 AM, Olivier Ricordeau
oliv...@ricordeau.org  wrote:

Hi folks,

I can't manage to have the new spatial filtering feature (added in r962727
by Grant Ingersoll, see https://issues.apache.org/jira/browse/SOLR-1568)
working. I'm trying to get all the documents located within a circle defined
by its center and radius.
I've modified my query url as specified in
http://wiki.apache.org/solr/SpatialSearch#Spatial_Filter_QParser to add the
pt, d and meas parameters. Here is what my query parameters looks like
(from Solr's response with debug mode activated):

[params] =  Array
(
[explainOther] =  true
[mm] =  2-75%
[d] =  50
[sort] =  date asc
[qf] =
[wt] =  php
[rows] =  5000
[version] =  2.2
[fl] =  object_type object_id score
[debugQuery] =  true
[start] =  0
[q] =  *:*
[meas] =  hsin
[pt] =  48.85341,2.3488
[bf] =
[qt] =  standard
[fq] =  +object_type:Concert +date:[2010-07-19T00:00:00Z
TO 2011-07-19T23:59:59Z]
)



With this query, I get 3859 results. And some (lots) of the found documents
are not located whithin the circle! :(
If I run the same query without spatial filtering (if I remove the pt, d
and meas parameters from the url), I get 3859 results too. So it looks
like my spatial filtering constraint is not taken into account in the first
search query (the one where pt, d and meas are set). Is the wiki's doc
up to date?

In the comments of SOLR-1568, I've seen someone talking about adding
{!sfilt fl=latlon_field_name}. So I tried the following request:

[params] =  Array
(
[explainOther] =  true
[mm] =  2-75%
[d] =  50
[sort] =  date asc
[qf] =
[wt] =  php
[rows] =  5000
[version] =  2.2
[fl] =  object_type object_id score
[debugQuery] =  true
[start] =  0
[q] =  *:*
[meas] =  hsin
[pt] =  48.85341,2.3488
[bf] =
[qt] =  standard
[fq] =  +object_type:Concert +date:[2010-07-19T00:00:00Z
TO 2011-07-19T23:59:59Z] +{!sfilt fl=coords_lat_lon,units=km,meas=hsin}
)

This leads to 2713 results (which is smaller than 3859, good). But some
(lots) of the results are once more out of the circle :(

Can someone help me get spatial filtering working? I really don't understand
the search results I'm getting.

Cheers,
Olivier

--
- *Olivier RICORDEAU* -
  oliv...@ricordeau.org
http://olivier.ricordeau.org








--
- *Olivier RICORDEAU* -
 oliv...@ricordeau.org
http://olivier.ricordeau.org



Re: Spatial filtering

2010-07-20 Thread Olivier Ricordeau
Ok, I have found a big bug in my indexing script. Things are getting 
better. I managed to have my parsed_filter_query to:
+coords_lat_lon_0_latLon:[48.694179707855874 TO 49.01213545059667] 
+coords_lat_lon_1_latLon:[2.1079512793239767 TO 2.5911832073858765]


For the record, here are the parameters which made it work:
[params] = Array
(
[explainOther] = true
[mm] = 2-75%
[d] = 25
[sort] = date asc
[qf] =
[wt] = php
[rows] = 5000
[version] = 2.2
[fl] = * score
[debugQuery] = true
[start] = 0
[q] = *:*
[meas] = hsin
[pt] = 48.85341,2.3488
[bf] =
[qt] = standard
[fq] = {!sfilt fl=coords_lat_lon} 
+object_type:Concert +date:[2008-07-20T00:00:00Z TO 2011-07-20T23:59:59Z]

)
But I am facing one problem: the  +object_type:Concert + 
date:[2008-07-20T00:00:00Z TO 2011-07-20T23:59:59Z] part of my fq 
parameter is not taken into account (see the parsed_filter_query above).

So here is my question:
How can I mix the {!sfilt fl=coords_lat_lon} part of the fq parameter 
with usual fq parameters (eg: +object_type:Concert)?


Can anyone help?

Regards,
Olivier


Le 20/07/2010 09:53, Olivier Ricordeau a écrit :



Le 20/07/2010 04:18, Lance Norskog a écrit :

Add the debugQuery=true parameter and it will show you the Lucene
query tree, and how each document is evaluated. This can help with the
more complex queries.


Do you see something wrong?

[debug] = Array
(
[rawquerystring] = *:*
[querystring] = *:*
[parsedquery] = MatchAllDocsQuery(*:*)
[parsedquery_toString] = *:*
[explain] = Array
(
[doc_45269] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
1.0 = queryNorm

[doc_50206] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
1.0 = queryNorm

[doc_50396] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
1.0 = queryNorm

[doc_51199] =
1.0 = (MATCH) MatchAllDocsQuery, product of:
1.0 = queryNorm

[]

)

[QParser] = LuceneQParser
[filter_queries] = Array
(
[0] = +object_type:Concert +date:[2010-07-20T00:00:00Z TO
2011-07-20T23:59:59Z] +{!sfilt fl=coords_lat_lon,units=km,meas=hsin}
)

[parsed_filter_queries] = Array
(
[0] = +object_type:Concert +date:[127958400 TO 1311206399000]
+name:{!sfilt TO fl=coords_lat_lon,units=km,meas=hsin}
)

[...]

I'm not sure about the parsed_filter_queries entry. It looks like the
+{!sfilt fl=coords_lat_lon,units=km,meas=hsin} is not well interpreted
(seems like it's interpreted as a range). Does anyone know what the
right syntax? This is not documented...

Cheers,
Olivier



On Mon, Jul 19, 2010 at 3:35 AM, Olivier Ricordeau
oliv...@ricordeau.org wrote:

Hi folks,

I can't manage to have the new spatial filtering feature (added in
r962727
by Grant Ingersoll, see https://issues.apache.org/jira/browse/SOLR-1568)
working. I'm trying to get all the documents located within a circle
defined
by its center and radius.
I've modified my query url as specified in
http://wiki.apache.org/solr/SpatialSearch#Spatial_Filter_QParser to
add the
pt, d and meas parameters. Here is what my query parameters
looks like
(from Solr's response with debug mode activated):

[params] = Array
(
[explainOther] = true
[mm] = 2-75%
[d] = 50
[sort] = date asc
[qf] =
[wt] = php
[rows] = 5000
[version] = 2.2
[fl] = object_type object_id score
[debugQuery] = true
[start] = 0
[q] = *:*
[meas] = hsin
[pt] = 48.85341,2.3488
[bf] =
[qt] = standard
[fq] = +object_type:Concert +date:[2010-07-19T00:00:00Z
TO 2011-07-19T23:59:59Z]
)



With this query, I get 3859 results. And some (lots) of the found
documents
are not located whithin the circle! :(
If I run the same query without spatial filtering (if I remove the
pt, d
and meas parameters from the url), I get 3859 results too. So it looks
like my spatial filtering constraint is not taken into account in the
first
search query (the one where pt, d and meas are set). Is the
wiki's doc
up to date?

In the comments of SOLR-1568, I've seen someone talking about adding
{!sfilt fl=latlon_field_name}. So I tried the following request:

[params] = Array
(
[explainOther] = true
[mm] = 2-75%
[d] = 50
[sort] = date asc
[qf] =
[wt] = php
[rows] = 5000
[version] = 2.2
[fl] = object_type object_id score
[debugQuery] = true
[start] = 0
[q] = *:*
[meas] = hsin
[pt] = 48.85341,2.3488
[bf] =
[qt] = standard
[fq] = +object_type:Concert +date:[2010-07-19T00:00:00Z
TO 2011-07-19T23:59:59Z] +{!sfilt fl=coords_lat_lon,units=km,meas=hsin}
)

This leads to 2713 results (which is smaller than 3859, good). But some
(lots) of the results are once more out of the circle :(

Can someone help me get spatial filtering working? I really don't
understand
the search results I'm getting.

Cheers,
Olivier

--
- *Olivier RICORDEAU* -
oliv...@ricordeau.org

Spatial filtering

2010-07-19 Thread Olivier Ricordeau

Hi folks,

I can't manage to have the new spatial filtering feature (added in 
r962727 by Grant Ingersoll, see 
https://issues.apache.org/jira/browse/SOLR-1568) working. I'm trying to 
get all the documents located within a circle defined by its center and 
radius.
I've modified my query url as specified in 
http://wiki.apache.org/solr/SpatialSearch#Spatial_Filter_QParser to add 
the pt, d and meas parameters. Here is what my query parameters 
looks like (from Solr's response with debug mode activated):


[params] = Array
(
[explainOther] = true
[mm] = 2-75%
[d] = 50
[sort] = date asc
[qf] =
[wt] = php
[rows] = 5000
[version] = 2.2
[fl] = object_type object_id score
[debugQuery] = true
[start] = 0
[q] = *:*
[meas] = hsin
[pt] = 48.85341,2.3488
[bf] =
[qt] = standard
[fq] = +object_type:Concert 
+date:[2010-07-19T00:00:00Z TO 2011-07-19T23:59:59Z]

)



With this query, I get 3859 results. And some (lots) of the found 
documents are not located whithin the circle! :(
If I run the same query without spatial filtering (if I remove the pt, 
d and meas parameters from the url), I get 3859 results too. So it 
looks like my spatial filtering constraint is not taken into account in 
the first search query (the one where pt, d and meas are set). Is 
the wiki's doc up to date?


In the comments of SOLR-1568, I've seen someone talking about adding 
{!sfilt fl=latlon_field_name}. So I tried the following request:


[params] = Array
(
[explainOther] = true
[mm] = 2-75%
[d] = 50
[sort] = date asc
[qf] =
[wt] = php
[rows] = 5000
[version] = 2.2
[fl] = object_type object_id score
[debugQuery] = true
[start] = 0
[q] = *:*
[meas] = hsin
[pt] = 48.85341,2.3488
[bf] =
[qt] = standard
[fq] = +object_type:Concert 
+date:[2010-07-19T00:00:00Z TO 2011-07-19T23:59:59Z] +{!sfilt 
fl=coords_lat_lon,units=km,meas=hsin}

)

This leads to 2713 results (which is smaller than 3859, good). But some 
(lots) of the results are once more out of the circle :(


Can someone help me get spatial filtering working? I really don't 
understand the search results I'm getting.


Cheers,
Olivier

--
- *Olivier RICORDEAU* -
 oliv...@ricordeau.org
http://olivier.ricordeau.org