NEST 7 игнорирует отображение свойств, но все еще доступно в _source - PullRequest
0 голосов
/ 10 января 2020

Как преобразовать это отображение с помощью клиента NEST 7. Я пытаюсь установить для включенного параметра значение false. Это заставит Elasticsearch полностью пропустить разбор содержимого поля, но все же сделает его доступным из _source.

PUT my_index
{
  "mappings": {
    "properties": {
      "user_id": {
        "type":  "keyword"
      },
      "last_updated": {
        "type": "date"
      },
      "session_data": { 
        "type": "object",
        "enabled": false
      }
    }
  }
}

1 Ответ

2 голосов
/ 10 января 2020

Один способ - использовать отображение атрибутов

await client.Indices.CreateAsync("documents", c => c
    .Map<Document>(m => m.AutoMap()));

public class Document
{
    public string Id { get; set; }
    [Object(Enabled = false)]
    public object Data { get; set; }
}

Другой способ - использовать свободное отображение

await client.Indices.CreateAsync("documents", c => c
    .Map<Document>(m => m
        .Properties(p => p.Object<object>(o => o.Name(n => n.Data).Enabled(false)))));

Вы можете найти больше в документах .

Надеюсь, что поможет.

...