You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Frederic MERCEUR <Fr...@ifremer.fr> on 2015/11/04 18:10:55 UTC

Spacial search returns us wrong results

Dear All,

I have a problem with the spacial search that returns us wrong results.

Here is the way I declare our spacial bbox index with Solr 5.4 :

<schema name="example" version="1.5">
     <uniqueKey>id</uniqueKey>
     <field name="cam_name" type="text_fr" indexed="true" stored="true"/>
     <field name="bounding_box" type="bbox" indexed="true" stored="true" />

     <fieldType name="bbox" class="solr.BBoxField" geo="true" 
distanceUnits="kilometers" numberType="_bbox_coord"/>
     <fieldType name="_bbox_coord" class="solr.TrieDoubleField" 
precisionStep="8" docValues="true" stored="false"/>
[...]


Here the data we submit with a zone in the french coast :
<doc>
     <field name="id">8070070</field>
     <field name="cam_name">ECLAIR3</field>
     <field name="bounding_box">ENVELOPE(-1.0, -2.5, 46.0, 45.0)</field>
</doc>


Here the way we query Solr (the Aral sea) :
http://[...]/select?q=*:*&fq={!field 
f=bounding_box}Intersects(ENVELOPE(58,62,46,43))&fq=cam_name:ECLAIR3

And here the the result we get. According to Solr the Aral sea is in the 
French coast :
<response>
     <lst name="responseHeader">
         <int name="status">0</int>
         <int name="QTime">0</int>
         <lst name="params">
             <str name="q">*:*</str>
             <arr name="fq">
                 <str>{!field 
f=bounding_box}Intersects(ENVELOPE(58,62,46,43))</str>
                 <str>cam_name:ECLAIR3</str>
             </arr>
         </lst>
     </lst>
     <result name="response" numFound="1" start="0">
     <doc>
         <str name="id">8070070</str>
         <str name="cam_name">ECLAIR3</str>
         [...]
         <str name="bounding_box">ENVELOPE(-1.0, -2.5, 46.0, 45.0)</str>

Do you see if I did something wrong ?

Thanks for your help.

Kind regards,
Fred


-- 
Fred Merceur
http://annuaire.ifremer.fr/cv/16828/

Re: Spacial search returns us wrong results

Posted by fmerceur <Fr...@ifremer.fr>.
 

Hi Alessandro, 

Thanks for answer. Yes, I have tried to removed the second query. Most
of the results are corrects but some as this one are not. The second
query are just to point on a specific record. I will try to debug query
tomorrow. 

Cheers, 

Fred 

Le 2015-11-04 18:25, Alessandro Benedetti a écrit : 

> Hi Frederic,
> Have you tried to debug the query ?
> Have you tried to remove the second filter query ?
> I assume the spatial filter query is not working properly, so only the
> second filter query is evaluated.
> Please give us some additional details and let's try to help you !
> 
> Cheers
> 
> On 4 November 2015 at 17:10, Frederic MERCEUR <Fr...@ifremer.fr>
> wrote:
> 
>> Dear All, I have a problem with the spacial search that returns us wrong results. Here is the way I declare our spacial bbox index with Solr 5.4 : <schema name="example" version="1.5"> <uniqueKey>id</uniqueKey> <field name="cam_name" type="text_fr" indexed="true" stored="true"/> <field name="bounding_box" type="bbox" indexed="true" stored="true" /> <fieldType name="bbox" class="solr.BBoxField" geo="true" distanceUnits="kilometers" numberType="_bbox_coord"/> <fieldType name="_bbox_coord" class="solr.TrieDoubleField" precisionStep="8" docValues="true" stored="false"/> [...] Here the data we submit with a zone in the french coast : <doc> <field name="id">8070070</field> <field name="cam_name">ECLAIR3</field> <field name="bounding_box">ENVELOPE(-1.0, -2.5, 46.0, 45.0)</field> </doc> Here the way we query Solr (the Aral sea) : http://[...]/select?q=*:*&fq={!field f=bounding_box}Intersects(ENVELOPE(58,62,46,43))&fq=cam_name:ECLAIR3 And here the the result we get. According to S!
 olr the
Aral sea is in the French coast : <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">0</int> <lst name="params"> <str name="q">*:*</str> <arr name="fq"> <str>{!field f=bounding_box}Intersects(ENVELOPE(58,62,46,43))</str> <str>cam_name:ECLAIR3</str> </arr> </lst> </lst> <result name="response" numFound="1" start="0"> <doc> <str name="id">8070070</str> <str name="cam_name">ECLAIR3</str> [...] <str name="bounding_box">ENVELOPE(-1.0, -2.5, 46.0, 45.0)</str> Do you see if I did something wrong ? Thanks for your help. Kind regards, Fred -- Fred Merceur http://annuaire.ifremer.fr/cv/16828/ [1]

 

Links:
------
[1] http://annuaire.ifremer.fr/cv/16828/

Re: Spacial search returns us wrong results

Posted by Alessandro Benedetti <ab...@apache.org>.
Hi Frederic,
Have you tried to debug the query ?
Have you tried to remove the second filter query ?
I assume the spatial filter query is not working properly, so only the
second filter query is evaluated.
Please give us some additional details and let's try to help you !

Cheers

On 4 November 2015 at 17:10, Frederic MERCEUR <Fr...@ifremer.fr>
wrote:

> Dear All,
>
> I have a problem with the spacial search that returns us wrong results.
>
> Here is the way I declare our spacial bbox index with Solr 5.4 :
>
> <schema name="example" version="1.5">
>     <uniqueKey>id</uniqueKey>
>     <field name="cam_name" type="text_fr" indexed="true" stored="true"/>
>     <field name="bounding_box" type="bbox" indexed="true" stored="true" />
>
>     <fieldType name="bbox" class="solr.BBoxField" geo="true"
> distanceUnits="kilometers" numberType="_bbox_coord"/>
>     <fieldType name="_bbox_coord" class="solr.TrieDoubleField"
> precisionStep="8" docValues="true" stored="false"/>
> [...]
>
>
> Here the data we submit with a zone in the french coast :
> <doc>
>     <field name="id">8070070</field>
>     <field name="cam_name">ECLAIR3</field>
>     <field name="bounding_box">ENVELOPE(-1.0, -2.5, 46.0, 45.0)</field>
> </doc>
>
>
> Here the way we query Solr (the Aral sea) :
> http://[...]/select?q=*:*&fq={!field
> f=bounding_box}Intersects(ENVELOPE(58,62,46,43))&fq=cam_name:ECLAIR3
>
> And here the the result we get. According to Solr the Aral sea is in the
> French coast :
> <response>
>     <lst name="responseHeader">
>         <int name="status">0</int>
>         <int name="QTime">0</int>
>         <lst name="params">
>             <str name="q">*:*</str>
>             <arr name="fq">
>                 <str>{!field
> f=bounding_box}Intersects(ENVELOPE(58,62,46,43))</str>
>                 <str>cam_name:ECLAIR3</str>
>             </arr>
>         </lst>
>     </lst>
>     <result name="response" numFound="1" start="0">
>     <doc>
>         <str name="id">8070070</str>
>         <str name="cam_name">ECLAIR3</str>
>         [...]
>         <str name="bounding_box">ENVELOPE(-1.0, -2.5, 46.0, 45.0)</str>
>
> Do you see if I did something wrong ?
>
> Thanks for your help.
>
> Kind regards,
> Fred
>
>
> --
> Fred Merceur
> http://annuaire.ifremer.fr/cv/16828/
>



-- 
--------------------------

Benedetti Alessandro
Visiting card : http://about.me/alessandro_benedetti

"Tyger, tyger burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?"

William Blake - Songs of Experience -1794 England