小编Bar*_*art的帖子

使用NEST ElasticSearch客户端获取不同的值

我正在使用NEST客户端在我的.NET应用程序中使用Elastic Search构建产品搜索引擎,并且有一件事我遇到了麻烦.获得一组独特的价值观.

我正在搜索有数千种产品,但当然我一次只能向用户返回10或20种产品.为此,分页工作正常.但除了这个主要结果,我想向我的用户显示在完整搜索中找到的品牌列表,以呈现这些用于过滤.

我已经读到我应该使用术语聚合.但是,我无法得到比这更好的东西.这仍然没有真正给我我想要的东西,因为它将像"20世纪福克斯"这样的价值分成3个独立的价值观.

    var brandResults = client.Search<Product>(s => s
         .Query(query)
         .Aggregations(a => a.Terms("my_terms_agg", t => t.Field(p => p.BrandName).Size(250))
         )
     );

    var agg = brandResult.Aggs.Terms("my_terms_agg");
Run Code Online (Sandbox Code Playgroud)

这甚至是正确的方法吗?或者应该使用完全不同的东西?而且,我怎样才能获得正确,完整的价值观?(不是按空格分开..但我想这就是你要求一个'条款'列表时得到的结果?)

我正在寻找的是如果你在MS SQL中这样做你会得到什么

SELECT DISTINCT BrandName FROM [Table To Search] WHERE [Where clause without paging]
Run Code Online (Sandbox Code Playgroud)

.net c# elasticsearch nest

9
推荐指数
1
解决办法
3032
查看次数

标签 统计

.net ×1

c# ×1

elasticsearch ×1

nest ×1