import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import FilteredTextBlock from '@site/src/components/Documentation/FilteredTextBlock';
import PyCode from '!!raw-loader!/_includes/code/graphql.aggregate.simple.py'; import TSCode from '!!raw-loader!/_includes/code/howto/search.aggregate.ts'; import JavaV6Code from '!!raw-loader!/_includes/code/java-v6/src/test/java/SearchAggregateTest.java'; import CSharpCode from '!!raw-loader!/_includes/code/csharp/SearchAggregateTest.cs';
package main
import (
"context"
"fmt"
"github.com/weaviate/weaviate-go-client/v5/weaviate"
"github.com/weaviate/weaviate-go-client/v5/weaviate/graphql"
)
func main() {
cfg := weaviate.Config{
Host: "localhost:8080",
Scheme: "http",
}
client, err := weaviate.NewClient(cfg)
if err != nil {
panic(err)
}
title := graphql.Field{Name: "title"}
url := graphql.Field{Name: "url"}
wordCount := graphql.Field{
Name: "wordCount", Fields: []graphql.Field{
{Name: "mean"},
{Name: "maximum"},
{Name: "median"},
{Name: "minimum"},
{Name: "mode"},
{Name: "sum"},
{Name: "type"},
},
}
inPublication := graphql.Field{
Name: "inPublication", Fields: []graphql.Field{
{Name: "pointingTo"},
{Name: "count"},
},
}
// nearText
nearText := &graphql.NearTextArgumentBuilder{}
nearText.WithDistance(0.85). // prior to v1.14 use WithCertainty()
WithConcepts([]string{"apple iphone"})
result, err := client.GraphQL().
Aggregate().
WithFields(title, url, wordCount, inPublication).
WithNearText(nearText).
WithClassName("Article").
WithObjectLimit(100). // at least one of distance or objectLimit need to be set
Do(context.Background())
if err != nil {
panic(err)
}
fmt.Printf("%v", result)
}package io.weaviate;
import io.weaviate.client.Config;
import io.weaviate.client.WeaviateClient;
import io.weaviate.client.base.Result;
import io.weaviate.client.v1.graphql.model.GraphQLResponse;
import io.weaviate.client.v1.graphql.query.argument.NearTextArgument;
import io.weaviate.client.v1.graphql.query.fields.Field;
public class App {
public static void main(String[] args) {
Config config = new Config("http", "localhost:8080");
WeaviateClient client = new WeaviateClient(config);
Field meta = Field.builder()
.name("meta")
.fields(new Field[]{
Field.builder().name("count").build()
}).build();
Field wordCount = Field.builder()
.name("wordCount")
.fields(new Field[]{
Field.builder().name("mean").build(),
Field.builder().name("maximum").build(),
Field.builder().name("median").build(),
Field.builder().name("minimum").build(),
Field.builder().name("mode").build(),
Field.builder().name("sum").build(),
Field.builder().name("type").build()
}).build();
Field inPublication = Field.builder()
.name("inPublication")
.fields(new Field[]{
Field.builder().name("pointingTo").build(),
Field.builder().name("count").build()
}).build();
NearTextArgument nearText = NearTextArgument.builder()
.distance(0.7f) // prior to v1.14 use .certainty()
.concepts(new String[]{ "pizza" })
.build();
Result<GraphQLResponse> result = client.graphQL().aggregate()
.withClassName("Article")
.withFields(meta, wordCount, inPublication)
.withNearText(nearText)
.withObjectLimit(100) // at least one of distance or objectLimit need to be set
.run();
if (result.hasErrors()) {
System.out.println(result.getError());
return;
}
System.out.println(result.getResult());
}
}# See the notes from the GraphQL example
echo '{
"query": "{
Aggregate {
Article(nearText:{
concepts: [\"apple iphone\"]
distance: 0.7
},
objectLimit: 200) {
meta {
count
}
inPublication {
pointingTo
type
}
wordCount {
count
maximum
mean
median
minimum
mode
sum
type
}
}
}
}"
}' | curl \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer learn-weaviate' \
-H "X-OpenAI-Api-Key: $OPENAI_API_KEY" \
-d @- \
https://edu-demo.weaviate.network/v1/graphql{
Aggregate {
Article(nearText:{
concepts: ["apple iphone"]
distance: 0.7 # prior to v1.14 use "certainty" instead of "distance"
},
objectLimit: 200) { # at least one of "objectLimit",
meta { # and/or "distance" must be set
count # when using near media filters
}
inPublication {
pointingTo
type
}
wordCount {
count
maximum
mean
median
minimum
mode
sum
type
}
}
}
}