1

を使用して ElasticSearch ドキュメントを検索しているときに、nested filter -> and -> geo_distance遠すぎるドキュメントを取得します (返されたくない)。クエリと結果の下のスクリーンショットを確認できます (左側の生の結果と手動でフィルタリングされた結果権利)。

ここに画像の説明を入力

クエリの別のコピーを次に示します。

{
   "query":{
      "match_all":{

      }
   },
   "filter":{
      "and":[
         {
            "term":{
               "PropertySubType":"Single Family"
            }
         },
         {
            "term":{
               "City":"Los Angeles"
            }
         },
         {
            "geo_distance":{
               "distance":"2.25miles",
               "Location":[
                  34.111583657,
                  -118.324646099
               ]
            }
         },
         {
            "range":{
               "BedroomsTotal":{
                  "gte":3
               }
            }
         },   
         {    
            "range":{
               "BuildingSize":{
                  "gte":3000
               }
            }
         },
         {    
            "range":{
               "YearBuilt":{
                  "lte":2000
               }
            }
         },
         {    
            "terms":{
               "ListingStatus":[
                  "Active",
                  "Pending",
                  "Closed"
               ]
            } 
         } 
      ] 
   },
   "size":100
}       
4

1 に答える 1

2

オプション「distance_type」を追加して「plane」に設定すると、この問題が修正されました。ここで「distance_type」を参照してください。

http://www.elasticsearch.org/guide/reference/query-dsl/geo-distance-filter.html

于 2011-11-19T19:17:41.310 に答える