Клиент Elasticserach NEST не привязывает _score ни _id в результатах поиска

#.net #elasticsearch #.net-core #nest

#.net #elasticsearch #.net-core #гнездо

Вопрос:

Я использую клиент NEST для поиска в эластичной базе данных с приложением .net core.

Все работает нормально, за исключением того, что ни поле _id , ни _score поле не привязаны.

Все остальные поля, например, временная метка, заполнены.

Я также пытался использовать атрибуты [Number (Name="_score")] и [Text(Name="_id")] , но поля всегда пустые / значения по умолчанию

Чего мне не хватает?

  public sealed class ElasticMapping
    {
        [Date(Name = "@timestamp")]
        public DateTime Timestamp { get; set; }

        [PropertyName("_id")]
        public string ElasticId { get; set; }

        [PropertyName("_score")]
        public Nullable<double> Score { get; set; }
    }
  

Ответ №1:

Эти поля не обязательно должны существовать в ваших документах, это метафайлы, которые добавляются к обращениям с помощью elastic, когда он возвращает результат. Вы можете установить точку останова и проверить возвращаемый результат, взгляните на свойство hits .