2015-03-21 3 views
5

В Solr Я могу определить динамическое поле и привязать его к определенному типу данных. В следующем примере все поля в индексированном документе, заканчивающиеся на «dt», будут индексированы как длинные. <dynamicField name="*_dt" stored="true" indexed="true" type="long" multiValued="true"/>Динамическое отображение Elasticsearch по сравнению с динамическим полем Solr

В ElasticSearch, зная имя поля, я могу использовать подузел «свойства» в «сопоставлениях» для индексации поля к определенному типу. "properties": { "msh_datetimeofmessage_hl7_dt": { "type": "date", "format": "YYYYMMddHHmmss" },

Я попробовал следующее и попытался использовать шаблон, безуспешно. "properties": { "*_dt": { "type": "date", "format": "YYYYMMddHHmmss" },

Есть ли у ElasticSearch те же функции, что и Solr, как описано выше?

Заранее спасибо.

+0

Я также придерживался той же проблемы. Пожалуйста, дайте мне знать, если эта проблема решена. – pjesudhas

ответ

3

Я думаю, что вы можете искать функциональность, предоставляемую dynamic templates. Если я ошибаюсь, ваше сопоставление будет выглядеть примерно так (в основном заимствовано со связанной страницы).

PUT /my_index 
{ 
"mappings": { 
    "my_type": { 
     "dynamic_templates": [ 
      { "my_date_template": { 
        "match":    "*_dt", 
        "mapping": { 
         "type":   "date", 
         "format": "YYYYMMDDHHmmss" 
        } 
      }} 
     ] 
}}} 
+0

Спасибо за ответ. Я также нашел этот ответ, я должен был обновить свой вопрос! Еще раз спасибо. – user481779

+0

Без проблем! Рад, что вы нашли решение и на самом деле не ожидали, что в течение нескольких месяцев этот вопрос будет поднят. По-моему, хорошая практика заключается в том, чтобы публиковать ответы на вопросы, которые вы задаете, тем более, что это помогает цементировать ваше понимание решения. По крайней мере, это мой опыт. – fabianvf