2015-05-29 5 views
0

Я читал здесь о отображении Transform: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-transform.htmlМогу ли я использовать отображение ElasticSearch преобразования, чтобы дублировать поле,

В результате преобразования, индексируется, но оригинальный источник хранится в поле _source.

Так что я думал, что могу использовать его для «копирования» поля. Я стараюсь:

{ 
    "mappings":{ 
     "opportunity":{ 
     "transform":{ 
      "script":"ctx._source['skill_suggest']=ctx._source['skill']" 
     } 
     } 
    } 
} 

Затем я выполнить запрос на «skill_suggest» поле, но не возвращает результата (тот же запрос на «умение» работает нормально).

Так что я делаю неправильно?
Могу ли я как-то «скопировать» некоторые поля на лету? Я хочу выполнить полнотекстовое ознакомление с «навыком», а также Completion Suggester, но я не могу изменить схему данных, отправленную с клиента.

+0

Почему вы не используете «мульти-поля»? https://www.elastic.co/guide/en/elasticsearch/reference/current/_multi_fields.html –

+0

@AndreiStefan Я пытаюсь это сопоставление с помощью «multi-fields» http://pastebin.com/YM46WcXc. Затем я пытаюсь получить предложение с http://pastebin.com/VdwYVhmB и получить эти сбои http://pastebin.com/1c8eJMjs. Может быть, мне стоит задать новый вопрос: D – nvcnvn

+1

Попробуйте с '" завершением ": { " поле ":" Skills.Name.NameSuggest " }' –

ответ