首页 > 解决方案 > 使用 Nest Client 将多语言 ElasticSearch 文档映射到单语言对象

问题描述

我正在设计一个使用以下对象的应用程序

public class Entity
{
    public string Title { get; set; }
    public string Description{ get; set; }
}

根据语言参数的对象是从搜索 ElasticSearch 文档(Nest .NET 客户端)中填充的,如下所示

{ 
  "Title": {
     "en": "...",
     "fr": "..."
  },
  "Description": {
     "en": "...",
     "fr": "..."
  }
}

我试图找出如何使用语言参数,我可以使用 Nest .NET 客户端将正确的文档字段映射到对象属性。

例如,如果语言是 en,我希望 en Title 和 Description 值填充对象。

先感谢您。

标签: elasticsearchnest

解决方案


您需要使用Object Initilizer语法并有条件地创建您的查询

var searchReq=new SearchRequest<Entity>
{
    Query = EntityFilter, --> create your query query
    Source = new SourceFilter
    {
        Includes = ["Title.en","Description.en"]
    }
}



推荐阅读