使用存储字符串列表的索引字段有问题
[“” 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; } = { };
}
这听起来像是映射问题。您需要确保使用的是keyword
,而不是text
。您不希望在使用聚合时对字段进行分析。