2014-02-21 3 views
1

ES 1.0.0에서 geo_point 개체를 설정하고 간단한 개념 증명 쿼리를 실행하려고했지만 쿼리가 어떤 조회도 반환하지 못했습니다. 여기 내 설치 단계는 다음과 같습니다 확인 매핑ElasticSearch geo_point 설정 방법

PUT jay/geotest/_mapping 
{ 
    "geotest" : { 
     "properties" : { 
      "name" : { 
       "type" : "string" 
      }, 
      "pin" : { 
       "type": "geo_point" 
      } 
     } 
    } 
} 

2) :

1) 매핑을 생성 데이터의 조각을)

GET jay/geotest/_mapping 

3을 추가

put jay/geotest/1 
{ 
    "name": "test1", 
    "pin": { 
     "lat": 0, 
     "lon": 0 
    } 
} 

4) 해당 데이터에 대한 쿼리 :

GET jay/geotest/_search?search_type=count 
{ 
    "filtered" : { 
     "filter" : { 
      "geo_distance" : { 
       "distance" : "100km", 
       "pin" : { 
        "lat" : 0, 
        "lon" : 0 
       } 
      } 
     } 
    } 
} 

내 예상 결과는 하나의 조회가 반환되지만 대신 쿼리에서 아무 것도 반환되지 않습니다. 사전에

감사합니다!

+0

http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/query-dsl-geo-distance-filter.html에서 작업하고있는 것으로 보입니다. 검색어 부분 (match_all)을 중단 한 이유가 있습니까? – SurrealAnalysis

+0

"match_all"은 암시 적이므로 ES에서는 필요하지 않습니다. 두 번 확인하기 위해 추가하려고했지만 아직 결과가 없습니다. – jhilden

답변

1

요청의 "쿼리"부분이 누락되었다고 생각합니다.

POST jay/geotest/_search 
{ 
    "query": { 
     "filtered": { 
     "filter": { 
      "geo_distance": { 
       "distance": "100km", 
       "pin": { 
        "lat": 0, 
        "lon": 0 
       } 
      } 
     } 
     } 
    } 
} 

난 그냥 당신의 단계를 테스트하고, 그 변경하면 문서를 반환했습니다.

+0

그게 다야! 감사합니다 Akshay! – jhilden

관련 문제