2015-06-30 7 views
1

Я получаю сообщение об ошибке при запуске этого скрипта, чтобы объединить долготы и широту в двойную точку geo_point.Elasticsearch: литье удваивается до geo_point. Ошибка с недопустимым гехаш-символом

ElasticsearchIllegalArgumentException[the character \'.\' is not a valid geohash character] 

Вот мой скрипт для справки:

mappings: { 
    'index': { 
      'transform': { 
        'lang': 'groovy', 
          'script': "ctx._source['coords'] = [ctx._source['lon'],ctx._source['lat']]" 
      } 
      'properties': { 
        'lon': { 
          'type': 'double', 
        }, 
        'lat': { 
          'type': 'string', 
        }, 
        'coords': { 
          'type': 'geo_point', 
        } 
      } 
    } 
} 

Я был бы признателен за любую помощь, спасибо!

ответ

0

Поскольку вы извлечение данных из источника, вам нужно преобразовать строки, чтобы двойники в вашем заводном сценарии:

new Double(ctx._source['lon']); 
+0

спасибо! что работал - я написал его в строке, поэтому я закончил работу ctx._source ['lon']. toDouble() Будет ли этот скрипт запускаться каждый раз, когда я запрашиваю на коордах? –