2016-03-30 3 views
0

Я использую Elasticsearch 2.2.1 для поиска документов, относящихся к определенному географическому расположению (в пределах коробки для боудинга). Я хочу создать перколятор, который я могу использовать, чтобы проверить, связан ли новый документ с существующим запросом.Как использовать точечную нотацию в геокоркете

Это прекрасно работает, если я поставил кофейник в индекс, содержащий документы, но из-за упоминания вопроса в этом document и обходной путь упомянул here мне нужно поставить просачиваются запросы в специальный индекс Percolator.

Когда я пытаюсь поставить кофейник в этот индекс:

PUT /mypercindex/.percolator/1 
    {"query": {"filtered": {"filter": 
    {"bool": 
     {"should": 
      [ 
       {"geo_bounding_box": 
        {"location.coordinates": 
         {"bottom_right": 
          {"lat":50.0,"lon":8.0} 
         ,"top_left": 
          {"lat":54.0,"lon":3.0} 
         } 
        } 
       } 
      ] 
     } 
    } 
}}} 

я получаю сообщение об ошибке сказав, что:

Строгий разрешение поля и никакого отображения поля не могут быть найдены в поле с имя [местоположение.координаты]

В документации на перколятор mentioned, что в случае выделенного индекса перколятора вы n ПЕД к:

убедитесь, что отображения из нормального индекса также доступны по индексу просачивается

Это может вызвать мой вопрос, но я не могу найти документацию о том, как сделать отображение из одного индекс доступен в другом. Я попытался добавить выделенный индекс перколятора с тем же отображением, что и индекс моего документа, но когда я это делаю, я все равно получаю то же сообщение об ошибке.

Отображение моего индекса документа напоминает это:

{"my_mapping": { 
    "dynamic":"strict", 
    "properties":{ 
    "body":{ 
     "properties":{ 
      "author":{ 
       "type":"string", 
       "index":"not_analyzed" 
      }, 
      "hashtags":{ 
       "type":"string", 
       "index":"not_analyzed" 
      }, 
      "language":{ 
       "type":"string", 
       "index":"not_analyzed" 
      } 
      ,"text":{ 
       "type":"string", 
       "analyzer":"stopwords" 
      }, 
      "title":{ 
       "type":"string", 
       "analyzer":"stopwords" 
      } 
     } 
    }, 
    "location":{ 
     "properties":{ 
      "coordinates":{ 
       "type":"geo_point" 
      }, 
      "names":{ 
       "type":"string", 
       "analyzer":"standard" 
      } 
     } 
    } 
    } 
}} 

Любая помощь будет принята с благодарностью!

ответ

Смежные вопросы