gpt4 book ai didi

elasticsearch - 数组上的术语聚合

转载 作者:行者123 更新时间:2023-12-03 01:21:20 24 4
gpt4 key购买 nike

索引字段有问题,该索引字段以以下方式存储字符串列表:

[“abc_def_fgh”,“abc_def_fgh”,“123_345_456”]

我正在尝试使用TermsAggregation来获取

“abc_def_fgh”(2)
“123_345_456”(1)

但是无法使其正常工作,因为它会得出每个术语的计数(abc(2),def(2)等)

任何的想法?

非常感谢

最佳答案

尝试类似的东西

var result = await client.SearchAsync<Document>(s => s
.Size(0)
.Aggregations(a => a
.Terms("tags", t => t.Field(f => f.Tags.Suffix("keyword")))));

foreach (var bucket in result.Aggregations.Terms("tags").Buckets)
{
System.Console.WriteLine($"Tag {bucket.Key}, doc count: {bucket.DocCount}");
}

public class Document
{
public string Id { get; set; }
public string[] Tags { get; set; } = { };
}

我索引中的这三个文件
new Document {Id = "1", Tags = new[]{"a","b"}
new Document {Id = "2", Tags = new[]{"a"}
new Document {Id = "3", Tags = new[]{"c"}

它会输出
Tag a, doc count: 2
Tag b, doc count: 1
Tag c, doc count: 1

希望能有所帮助。

关于elasticsearch - 数组上的术语聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60130534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com