首页 / 问答 / [Elasticsearch]Elasticsearch查询结果只返回指定的某个或某些字段?

[Elasticsearch]Elasticsearch查询结果只返回指定的某个或某些字段?

0

在后端程序开发中(C#/.NET/.NET Core/.NET 5/.NET 6),使用了Elasticsearch作为数据存储和搜索引擎,现在需要在查询Elasticsearch索引文档时只返回这个文档的指定的某个或者某些字段,应该如何实现呢?

如果需要排除返回结果中的某个或者某些字段,又应该如何设置呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    在Elasticsearch 5及以上版本中,可以使用源过滤器(source filter)来设置Elasticsearch返回结果需要包含或者排除的某个/某些字段。

    例如,如果只需要返回指定字段,则可在DSL查询语句中设定_source的值即可,示例如下:

    或者

    _source的值可以是字符串,也可以是字符串数组。以上的示例还使用正则表达式来配置符合条件的所有字段。

    除此之外,如果需要返回结果中排除某个或者某些字段,则可以设置_sourceexcludes属性,DSL查询语句如下:

    includes属性表示需要包含的字段,excludes表示需要排除的字段。

    Rector的个人主页

    Rector

    2021-08-31 回答

    • 0

      在Elasticsearch(ES)2.4及以前的版本中,则可以设置fields属性来返回只需要的字段,示例如下:

      fields属性还接受一个或多个通配符模式,以控制应该返回文档中的匹配的某个或者某些字段,示例如下:

      Rector的个人主页

      Rector

      2021-08-31 回答

      我来回答