2014-05-22 2 views
1

며칠 동안 문제가 발생했는데 어떻게 해결할 수 있는지 잘 모릅니다.지오바이드 상자 필터가있는 중첩 된 객체의 탄성 검색 침투

나는 elasticsearch 1.1.0을 사용하고 있습니다.

나는 다음과 같은 매핑을 포함하는 유형이 : 나는 elasticsearch의 지리적 경계 상자 필터를 사용하여 여과기를 만들어

{ 
    "location": { 

     " type": "nested", 
     " properties": { 
      "accuracy": { 
       "type": "long" 
      }, 
      "date": { 
       " type": "date" 
       "format": "dateOptionalTime" 
      }, 
     ... 
     "point": { 
      "type": "geo_point" 
     } 
    } 

} 

:

{ 
    "query":{ 
     "filtered":{ 
     "query":{ 
      "match_all":{ 

      } 
     }, 
     "filter":{ 
      "nested":{ 
       "filter":{ 
        "geo_bbox":{ 
        "point":{ 
         "top_left":[ 
          4.559326171875, 
          45.08127861241874 
         ], 
         "bottom_right":[ 
          5.2130126953125, 
          44.692088041727814 
         ] 
        } 
        } 
       }, 
       "path":"location" 
      } 
     } 
     } 
    } 
} 

을하지만 나는이 문서를 관류하려고 할 때 어떤 분명히 테두리 상자 안에 있습니다. 나는 일치가 없습니다 :

{ 
    "doc": { 
    "location": { 
     "point": "44.933, 4.9", 
     "date": "2014-05-21T08:40:05" 
    } 
    } 
} 

왜이 문제가 생기는 지 아는 어떤 생각. 누군가 나를 기쁘게 도와 줄 수 있습니까?

답변

0

필자는 일부 ElasticSeearch 개발자의 도움을 받아 마침내 문제의 해결책을 발견했습니다.

내가 인용 :

"는 최상위 유형 필드가 강제 매핑이 여과기 쿼리의 구문 분석시 사용을 정의 지정되지 않은 경우가 geonestedindex 지수와의 모든 매핑에 자동으로 쿼리의 필드를 해결하려고합니다. 다른 유형의 다른 위치 입력란 일 수 있으며 결국 사용 될 수 있습니다. "

{ 
     "query":{ 
      "filtered":{ 
      "query":{ 
       "match_all":{ 

       } 
      }, 
      "filter":{ 
       "nested":{ 
        "filter":{ 
         "geo_bbox":{ 
         "point":{ 
          "top_left":[ 
           4.559326171875, 
           45.08127861241874 
          ], 
          "bottom_right":[ 
           5.2130126953125, 
           44.692088041727814 
          ] 
         } 
         } 
        }, 
        "path":"location" 
       } 
      } 
      } 
     }, 
     "type": "myType" 
    } 

으로 :

내 매핑 사실 나는 내 여과기에서이 같은 일치 결코 침투를 유형을 지정하지 않은 경우 두 가지 유형의

"point": { 
      "type": "geo_point" 
     } 

그래서 속성을 havined했다 이 여과기는 문서가 쉽게 일치 할 수 있습니다.

관련 문제