1
私はElasticsearch
で新しく、NESTライブラリを使用しています。重複した値のカウントを取得するにはどうすればよいですか?値の重複値の取得方法
BookName=X, Author=a<br>
BookName=Y, Author=a<br>
BookName=Z, Author=b<br>
BookName=C, Author=b<br>
BookName=T, Author=c<br>
クエリ結果は次のようになります:
a- 2
b- 2
c- 1
この
public class Book
{
public string BookName {get;set;}
public string Author {get;set;}
}
が私のデータである。ここでは
は私のクラスであります
私は、次のクエリを試してみましたが、それは動作しません:
client.Search<Book>(s => s
.Aggregations(a => a
.Terms("group_by_auth", ts => ts
.Field(o => o.Author)
.Size(10)
.Aggregations(aa => aa
.Sum("sum_value", sa => sa
.Field(o => o.Author)
)
)
)
));
マッピングは次のとおりです。
client= new ElasticClient(connectionSettings);
client.CreateIndex("books", c => c
.Mappings(m => m
.Map<Book>(mm => mm
.Properties(ps=>ps
.Text(s=>s
.Name(a=>a.Author)
)))
)
どのバージョンのElasticsearchをお使いですか? 'Author'のマッピングはどうなっていますか? –
私は質問を編集しています。私は最新のバージョンを使用しています – Gustavo
結果を取得したら、内部集計を削除するだけでDocCountプロパティを持つ必要はありません。また、Authorフィールドにトークンがある場合は、代わりにauthor.keywordフィールドでそれを行う必要があります。 –