2016-10-19 21 views
0

imユーザーの近くでbusinessを返すためにelasticsearchを使用しています。弾性検索ジオロケーション検索でマイル単位の結果が返されない

私はキロ「キロ」の距離単位で検索した場合、私が期待される結果を得るが、私はマイル「M」を使用している場合、それは0ヒットにヒット

{ 
    "sort" : [ 
     { 
      "_geo_distance" : { 
       "location" : { 
        "lon": -0.11454850000000001, 
        "lat": 51.4911665 
       }, 
       "order" : "asc", 
       "unit" : "km" 
      } 
     } 
    ], 
    "query": { 
    "filtered" : { 
     "query" : { 
      "match_all" : {} 
     }, 
     "filter" : { 
      "geo_distance" : { 
       "distance" : "1km", 
       "location" : { 
        "lon": -0.11454850000000001, 
        "lat": 51.4911665 
       } 
      } 
     } 
    } 
    } 
} 

1キロとキロリクエストの

例を返します= 0.6マイルなので、このクエリでは上記と同じ結果が返されますが、0が返されます。

{ 
    "sort" : [ 
     { 
      "_geo_distance" : { 
       "location" : { 
        "lon": -0.11454850000000001, 
        "lat": 51.4911665 
       }, 
       "order" : "asc", 
       "unit" : "m" 
      } 
     } 
    ], 
    "query": { 
    "filtered" : { 
     "query" : { 
      "match_all" : {} 
     }, 
     "filter" : { 
      "geo_distance" : { 
       "distance" : "1m", 
       "location" : { 
        "lon": -0.11454850000000001, 
        "lat": 51.4911665 
       } 
      } 
     } 
    } 
    } 
} 

これは何故でしょうか?

+0

使用する必要があります 'M'はメートルで、マイル 'mi'である([距離の単位についての詳細情報] (https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#distance-units)) – Val

+0

あなたが答えに入れるとあなたは正しいです。私は受け入れられたとマークします –

答えて

1

あなたは単にcorrect distance unit使用する必要があります。mはメートルで、マイルのためにあなたがmi

{ 
    "sort" : [ 
     { 
      "_geo_distance" : { 
       "location" : { 
        "lon": -0.11454850000000001, 
        "lat": 51.4911665 
       }, 
       "order" : "asc", 
       "unit" : "mi"      <--- here 
      } 
     } 
    ], 
    "query": { 
    "filtered" : { 
     "query" : { 
      "match_all" : {} 
     }, 
     "filter" : { 
      "geo_distance" : { 
       "distance" : "1mi",    <--- here 
       "location" : { 
        "lon": -0.11454850000000001, 
        "lat": 51.4911665 
       } 
      } 
     } 
    } 
    } 
} 
関連する問題