代码之家  ›  专栏  ›  技术社区  ›  Veverke

是否必须为我打算用ElasticSearch搜索的所有索引创建POCO对象?

  •  0
  • Veverke  · 技术社区  · 6 年前

    我从ElasticSearch开始。NET(尝试) Nest 首先)。

    一个非常基本的问题:我看到的所有搜索API方法(search、get等)都需要指定一个。网络类型。

    难道没有办法指定一个索引名,以便API自动推断响应类型吗?换句话说,是否必须为我们要搜索的所有索引创建POCO对象?(我从文档中了解到,ElasticSearch可以使用第一个文档的结构从索引中推断文档类型…)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Russ Cam    6 年前

    难道没有办法指定一个索引名,以便API自动推断响应类型吗?

    目前还没有。我们之前已经讨论过基于索引模式执行类似操作,这将有助于在将来完全删除类型时支持多个索引的协变响应。

    换句话说,是否必须为我们要搜索的所有索引创建POCO对象?

    不,这不是强制性的。您可以指定所需的任何类型 TDocument 在里面 IElasticClient.Search<TDocument> 这种类型将用于

    1. 确定反序列化每个文件的类型 _source 文件
    2. 通过映射到POCO属性,提供对文档字段的强类型访问。