Я предлагаю создать шаблон индекса , который будет использоваться для всех будущих индексов, созданных вашим работником.
PUT _template/my-index-template
{
"index-patterns": ["myindex*"], <--- replace your real index name/pattern here
"mappings": {
"-": {
"properties": {
"key": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"payload": {
"properties": {}
},
"timestamp": {
"type": "date" <-- this is what changed
}
}
}
}
}
Да, это стандартно. Функциональные блоки попытки, как их называют, не являются так большим использованием для регулярных функций, но для конструкторов, они позволяют Вам ловить исключения, добавленные список инициализатора.
Обратите внимание, что в случае конструктора исключение будет всегда повторно бросаться в конце любых блоков выгоды.
У Herb Sutter есть хорошая статья об этом: http://www.gotw.ca/gotw/066.htm.
Да, это - допустимый C++. Одна цель, которую я нашел для него, состоит в том, чтобы перевести исключения в возвращаемые значения и иметь код, переводящий исключения, в ответ оценивает отдельный от другого кода в функции. Да, Вы можете return x;
от блока выгоды как тот Вы показали (я только недавно обнаружил это, на самом деле). Но я, вероятно, просто использовал бы другой уровень фигурных скобок и поместил бы попытку/выгоду в функции в этом случае. Это будет более знакомо большинству программистов на C++.
Другая цель состоит в том, чтобы поймать исключения, выданные списком инициализатора конструктора, который использует подобный синтаксис:
struct f {
g member;
f() try {
// empty
} catch(...) {
std::cerr << "thrown from constructor of g";
}
};