Search in sources :

Example 1 with SearchRequest

use of org.opensearch.client.opensearch.core.SearchRequest in project opensearch-java by opensearch-project.

the class VariantsTest method testNestedVariantsWithContainerProperties.

@Test
public void testNestedVariantsWithContainerProperties() {
    SearchRequest search = SearchRequest.of(s -> s.aggregations("agg1", a -> a.meta("m1", JsonData.of("m1 value")).valueCount(v -> v.field("f")).meta("m2", JsonData.of("m2 value"))));
    assertEquals("m1 value", search.aggregations().get("agg1").meta().get("m1").to(String.class));
    assertEquals("m2 value", search.aggregations().get("agg1").meta().get("m2").to(String.class));
}
Also used : SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) Query(org.opensearch.client.opensearch._types.query_dsl.Query) JsonData(org.opensearch.client.json.JsonData) Property(org.opensearch.client.opensearch._types.mapping.Property) QueryBuilders(org.opensearch.client.opensearch._types.query_dsl.QueryBuilders) Test(org.junit.Test) TypeMapping(org.opensearch.client.opensearch._types.mapping.TypeMapping) GetMappingResponse(org.opensearch.client.opensearch.indices.GetMappingResponse) SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) Test(org.junit.Test)

Example 2 with SearchRequest

use of org.opensearch.client.opensearch.core.SearchRequest in project opensearch-java by opensearch-project.

the class ClassStructureTest method testMapSetters.

@Test
public void testMapSetters() {
    ValueCountAggregation countA = ValueCountAggregation.of(v -> v.field("a"));
    ValueCountAggregation countB = ValueCountAggregation.of(v -> v.field("b"));
    ValueCountAggregation countC = ValueCountAggregation.of(v -> v.field("c"));
    Map<String, Aggregation> aggs = new HashMap<>();
    aggs.put("aggA", countA._toAggregation());
    aggs.put("aggB", countB._toAggregation());
    {
        // Appending doesn't modify the original collection
        SearchRequest search = SearchRequest.of(b -> b.aggregations(aggs).aggregations("aggC", countC._toAggregation()).aggregations("aggD", a -> a.valueCount(c -> c.field("d"))));
        // Original map wasn't modified
        assertEquals(2, aggs.size());
        assertEquals(4, search.aggregations().size());
        assertEquals("a", search.aggregations().get("aggA").valueCount().field());
        assertEquals("b", search.aggregations().get("aggB").valueCount().field());
        assertEquals("c", search.aggregations().get("aggC").valueCount().field());
        assertEquals("d", search.aggregations().get("aggD").valueCount().field());
    }
    {
        // Map cannot be null
        assertThrows(NullPointerException.class, () -> {
            Map<String, Aggregation> nullMap = null;
            SearchRequest.of(b -> b.aggregations(nullMap));
        });
    }
}
Also used : Aggregation(org.opensearch.client.opensearch._types.aggregations.Aggregation) ValueCountAggregation(org.opensearch.client.opensearch._types.aggregations.ValueCountAggregation) Buckets(org.opensearch.client.opensearch._types.aggregations.Buckets) Arrays(java.util.Arrays) Aggregation(org.opensearch.client.opensearch._types.aggregations.Aggregation) GetRequest(org.opensearch.client.opensearch.core.GetRequest) HashMap(java.util.HashMap) Aggregate(org.opensearch.client.opensearch._types.aggregations.Aggregate) RangeBucket(org.opensearch.client.opensearch._types.aggregations.RangeBucket) ValueCountAggregation(org.opensearch.client.opensearch._types.aggregations.ValueCountAggregation) ObjectBuilder(org.opensearch.client.util.ObjectBuilder) TotalHitsRelation(org.opensearch.client.opensearch.core.search.TotalHitsRelation) ApiTypeHelper(org.opensearch.client.util.ApiTypeHelper) Map(java.util.Map) HitsMetadata(org.opensearch.client.opensearch.core.search.HitsMetadata) Method(java.lang.reflect.Method) Nullable(javax.annotation.Nullable) ErrorCause(org.opensearch.client.opensearch._types.ErrorCause) JsonData(org.opensearch.client.json.JsonData) Test(org.junit.Test) TotalHits(org.opensearch.client.opensearch.core.search.TotalHits) Collectors(java.util.stream.Collectors) IntervalsQuery(org.opensearch.client.opensearch._types.query_dsl.IntervalsQuery) DateRangeAggregate(org.opensearch.client.opensearch._types.aggregations.DateRangeAggregate) MissingRequiredPropertyException(org.opensearch.client.util.MissingRequiredPropertyException) List(java.util.List) SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) CardinalityAggregate(org.opensearch.client.opensearch._types.aggregations.CardinalityAggregate) FieldAndFormat(org.opensearch.client.opensearch._types.query_dsl.FieldAndFormat) Collections(java.util.Collections) SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) HashMap(java.util.HashMap) ValueCountAggregation(org.opensearch.client.opensearch._types.aggregations.ValueCountAggregation) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 3 with SearchRequest

use of org.opensearch.client.opensearch.core.SearchRequest in project opensearch-java by opensearch-project.

the class RequestEncodingTest method testParametersNotInJson.

@Test
public void testParametersNotInJson() {
    // This checks that path parameters ("q") are not serialized as json
    // and variant containers ser/deser
    SearchRequest request = new SearchRequest.Builder().q("blah").query(b1 -> b1.type(b2 -> b2.value("foo"))).aggregations("myagg", b2 -> b2.avg(b3 -> b3.field("foo"))).build();
    JsonbJsonpMapper mapper = new JsonbJsonpMapper();
    String str = toJson(request, mapper);
    assertEquals("{\"aggregations\":{\"myagg\":{\"avg\":{\"field\":\"foo\"}}},\"query\":{\"type\":{\"value\":\"foo\"}}}", str);
    request = fromJson(str, SearchRequest.class, mapper);
    assertTrue(request.query().isType());
    assertEquals("foo", request.query().type().value());
    assertNull(request.q());
}
Also used : SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) JsonbJsonpMapper(org.opensearch.client.json.jsonb.JsonbJsonpMapper) Test(org.junit.Test) SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) JsonbJsonpMapper(org.opensearch.client.json.jsonb.JsonbJsonpMapper) Test(org.junit.Test)

Example 4 with SearchRequest

use of org.opensearch.client.opensearch.core.SearchRequest in project opensearch-java by opensearch-project.

the class ApiConventionsTest method collections.

@Test
public void collections() {
    // tag::collections-list
    // Prepare a list of index names
    List<String> names = Arrays.asList("idx-a", "idx-b", "idx-c");
    // Prepare cardinality aggregations for fields "foo" and "bar"
    Map<String, Aggregation> cardinalities = new HashMap<>();
    cardinalities.put("foo-count", Aggregation.of(a -> a.cardinality(c -> c.field("foo"))));
    cardinalities.put("bar-count", Aggregation.of(a -> a.cardinality(c -> c.field("bar"))));
    // Prepare an aggregation that computes the average of the "size" field
    final Aggregation avgSize = Aggregation.of(a -> a.avg(v -> v.field("size")));
    SearchRequest search = SearchRequest.of(r -> r.index(names).index("idx-d").index("idx-e", "idx-f", "idx-g").sort(s -> s.field(f -> f.field("foo").order(SortOrder.Asc))).sort(s -> s.field(f -> f.field("bar").order(SortOrder.Desc))).aggregations(cardinalities).aggregations("avg-size", avgSize).aggregations("price-histogram", a -> a.histogram(h -> h.field("price"))));
// end::collections-list
}
Also used : Aggregation(org.opensearch.client.opensearch._types.aggregations.Aggregation) OpenSearchAsyncClient(org.opensearch.client.opensearch.OpenSearchAsyncClient) Arrays(java.util.Arrays) Aggregation(org.opensearch.client.opensearch._types.aggregations.Aggregation) Alias(org.opensearch.client.opensearch.indices.Alias) Query(org.opensearch.client.opensearch._types.query_dsl.Query) CreateIndexRequest(org.opensearch.client.opensearch.indices.CreateIndexRequest) LogManager(java.util.logging.LogManager) OpenSearchClient(org.opensearch.client.opensearch.OpenSearchClient) Test(org.junit.Test) HashMap(java.util.HashMap) CreateIndexResponse(org.opensearch.client.opensearch.indices.CreateIndexResponse) Logger(java.util.logging.Logger) SearchResponse(org.opensearch.client.opensearch.core.SearchResponse) OpenSearchTransport(org.opensearch.client.transport.OpenSearchTransport) TransportException(org.opensearch.client.transport.TransportException) List(java.util.List) SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) NodeStatistics(org.opensearch.client.opensearch._types.NodeStatistics) SortOrder(org.opensearch.client.opensearch._types.SortOrder) ApiTypeHelper(org.opensearch.client.util.ApiTypeHelper) Map(java.util.Map) Assert(org.junit.Assert) SearchRequest(org.opensearch.client.opensearch.core.SearchRequest) HashMap(java.util.HashMap) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)4 SearchRequest (org.opensearch.client.opensearch.core.SearchRequest)4 Arrays (java.util.Arrays)2 HashMap (java.util.HashMap)2 List (java.util.List)2 Map (java.util.Map)2 JsonData (org.opensearch.client.json.JsonData)2 Aggregation (org.opensearch.client.opensearch._types.aggregations.Aggregation)2 Query (org.opensearch.client.opensearch._types.query_dsl.Query)2 ApiTypeHelper (org.opensearch.client.util.ApiTypeHelper)2 Method (java.lang.reflect.Method)1 Collections (java.util.Collections)1 LogManager (java.util.logging.LogManager)1 Logger (java.util.logging.Logger)1 Collectors (java.util.stream.Collectors)1 Nullable (javax.annotation.Nullable)1 Assert (org.junit.Assert)1 JsonbJsonpMapper (org.opensearch.client.json.jsonb.JsonbJsonpMapper)1 OpenSearchAsyncClient (org.opensearch.client.opensearch.OpenSearchAsyncClient)1 OpenSearchClient (org.opensearch.client.opensearch.OpenSearchClient)1