A newer version is available. For the latest information, see the
current release documentation.
Adjacency Matrix Usage
editAdjacency Matrix Usage
editFluent DSL example
edita => a .AdjacencyMatrix("interactions", am => am .Filters(fs => fs .Filter("grpA", f => f.Term(p => p.State, StateOfBeing.BellyUp)) .Filter("grpB", f => f.Term(p => p.State, StateOfBeing.Stable)) .Filter("grpC", f => f.Term(p => p.State, StateOfBeing.VeryActive)) ) )
Object Initializer syntax example
editnew AdjacencyMatrixAggregation("interactions") { Filters = new NamedFiltersContainer { { "grpA", new TermQuery { Field = "state", Value = StateOfBeing.BellyUp } }, { "grpB", new TermQuery { Field = "state", Value = StateOfBeing.Stable } }, { "grpC", new TermQuery { Field = "state", Value = StateOfBeing.VeryActive } }, } }
Example json output.
{ "interactions": { "adjacency_matrix": { "filters": { "grpA": { "term": { "state": { "value": "BellyUp" } } }, "grpB": { "term": { "state": { "value": "Stable" } } }, "grpC": { "term": { "state": { "value": "VeryActive" } } } } } } }
Handling Responses
editresponse.ShouldBeValid(); var interactions = response.Aggregations.AdjacencyMatrix("interactions"); interactions.Should().NotBeNull(); var buckets = interactions.Buckets; buckets.Should().NotBeNullOrEmpty(); foreach (var bucket in buckets) { bucket.Key.Should().NotBeNullOrEmpty(); bucket.DocCount.Should().BeGreaterThan(0); }