1

当我使用 a 搜索我的 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 回答