Как создать эластичный псевдоним динамически?
Я уже пробовал Индексные Псевдонимы | Elasticsearch Reference [2.0] | Elastic[^], но что делать, если мне нужно создать псевдоним в то время, когда документы добавляются в индекс на основе значений, переданных для вставки. здесь, в моем случае, это значение является типом клиента, поэтому я хочу создать псевдоним, который будет добавлен в индекс на основе значения, переданного типу клиента, если значение отличается, он должен создать новый псевдоним, иначе мудрый не будет, Может ли кто-нибудь иметь представление об этом?
Что я уже пробовал:
имя индекса=customeinfo
тип индекса=клиент
Сопоставление Индексов
{ "customeinfo": { "mappings": { "Customer": { "properties": { "Id": { "type": "long" }, "Name": { "type": "string" }, "Type": { "type": "string" }, "type": { "type": "string" } } } }, "settings": { "index": { "creation_date": "1526625709246", "number_of_shards": "1", "number_of_replicas": "1", "uuid": "uEbfvBvTRK-AGzBaQWqu-Q", "version": { "created": "2030399" } } }, "warmers": {} } }
когда новый документ добавляется в эластичный индекс, например
{ "Id": 1, "Name": "Alice", "type": "premium" }
затем следует добавить новый псевдоним, и мой индекс станет похожим
{ "customeralias": { "aliases": { "premiumcustomeralias": { "filter": { "term": { "type": "premium" } } } }, "mappings": {}, "settings": {}, "warmers": {} } }
опять же новый документ добавляется в эластичный индекс как
{ "Id": 2, "Name": "Bob", "type": "basic" }
затем снова должен быть добавлен новый псевдоним, и мой индекс и индекс станут похожи
{ "customeralias": { "aliases": { "premiumcustomeralias": { "filter": { "term": { "type": "premium" } } }, "basiccustomeralias": { "filter": { "term": { "type": "basic" } } } }, "mappings": {}, "settings": {}, "warmers": {} } }