Refine search
/** * Builds a query that will select all documents that are not present in the ignored list */ private static Query buildSelfLinkExclusionClause(Collection<String> ignoredUsageLinks) { if (ignoredUsageLinks == null || ignoredUsageLinks.isEmpty()) { return null; } return Query.Builder.create(Occurance.MUST_NOT_OCCUR) .addInClause(ServiceDocument.FIELD_NAME_SELF_LINK, ignoredUsageLinks) .build(); }
private void doInQuery(String fieldName, String fieldValue, long documentCount, long expectedResultCount) throws Throwable { QuerySpecification spec = new QuerySpecification(); spec.query = Query.Builder.create().addInClause( fieldName, Arrays.asList( UUID.randomUUID().toString(), fieldValue, UUID.randomUUID().toString())) .build(); this.host.createAndWaitSimpleDirectQuery(spec, documentCount, expectedResultCount); }
private void doInQuery(String fieldName, String fieldValue, long documentCount, long expectedResultCount) throws Throwable { QuerySpecification spec = new QuerySpecification(); spec.query = Query.Builder.create().addInClause( fieldName, Arrays.asList( UUID.randomUUID().toString(), fieldValue, UUID.randomUUID().toString())) .build(); this.host.createAndWaitSimpleDirectQuery(spec, documentCount, expectedResultCount); }
private DeferredResult<List<ContainerDescription>> retrieveContainerDescriptions() { logFine("Retrieve all container descriptions which have autoredeploy option enabled." + "System container is excluded."); Builder builder = Builder.create() .addKindFieldClause(ContainerDescription.class) .addFieldClause(ContainerDescription.FIELD_NAME_SELF_LINK, SystemContainerDescriptions.AGENT_CONTAINER_DESCRIPTION_LINK, Occurance.MUST_NOT_OCCUR) .addCompositeFieldClause(ContainerDescription.FIELD_NAME_HEALTH_CONFIG, HealthConfig.FIELD_NAME_AUTOREDEPLOY, Boolean.TRUE.toString(), Occurance .MUST_OCCUR); QueryByPages<ContainerDescription> query = new QueryByPages<>(getHost(), builder.build(), ContainerDescription.class, null); return query.collectDocuments(Collectors.toList()); }
private Query getAssociatedDocumentsQuery(EndpointRemovalTaskState state, Collection<String> documentKinds) { Query resourceQuery = Query.Builder.create() .addInClause(ServiceDocument.FIELD_NAME_KIND, documentKinds) .addClause(Query.Builder.create() .addFieldClause(FIELD_NAME_ENDPOINT_LINK, state.endpoint.documentSelfLink, QueryTask.Query.Occurance.SHOULD_OCCUR) .addCompositeFieldClause(FIELD_NAME_CUSTOM_PROPERTIES, ComputeProperties.ENDPOINT_LINK_PROP_NAME, state.endpoint.documentSelfLink, QueryTask.Query.Occurance.SHOULD_OCCUR) .build()) .build(); return resourceQuery; }
private static QueryTask getQueryTask() { Query computeQuery = Query.Builder.create() .addKindFieldClause(SslTrustCertificateState.class) .build(); QueryTask task = QueryTask.Builder .create() .addOption(QueryOption.CONTINUOUS) .addOption(QueryOption.EXPAND_CONTENT) .setQuery(computeQuery).build(); task.documentSelfLink = QUERY_TASK_SELF_LINK_PREFIX; task.documentExpirationTimeMicros = Utils.fromNowMicrosUtc( TimeUnit.DAYS.toMicros(QUERY_TASK_EXPIRATION_DAYS)); return task; }
private QueryTask makeQueryTask() { return QueryTask.Builder.createDirectTask() .setQuery(QueryTask.Query.Builder.create() .addKindFieldClause(ExampleServiceState.class) .addFieldClause(ExampleServiceState.FIELD_NAME_NAME, "a", MatchType.WILDCARD, Occurance.MUST_NOT_OCCUR) .addFieldClause(ExampleServiceState.FIELD_NAME_NAME, "c", MatchType.WILDCARD, Occurance.MUST_NOT_OCCUR) .addFieldClause(ExampleServiceState.FIELD_NAME_NAME, "5", MatchType.WILDCARD, Occurance.MUST_NOT_OCCUR) .build()) .setResultLimit(50) .build(); }
@Test public void evaluateWithBoolean() throws QueryFilterException { QueryFilter filter = QueryFilter.create(Query.Builder.create() .addFieldClause("b1", true) .build()); QueryFilterDocument document; document = new QueryFilterDocument(); document.b1 = true; assertTrue(filter.evaluate(document, this.description)); document.b1 = false; assertFalse(filter.evaluate(document, this.description)); document.b1 = null; assertFalse(filter.evaluate(document, this.description)); }
@Test public void evaluateWithURI() throws QueryFilterException { QueryFilter filter = QueryFilter.create(Query.Builder.create() .addFieldClause("u1", URI.create("http://www.net.com")) .build()); QueryFilterDocument document; document = new QueryFilterDocument(); document.u1 = URI.create("http://www.net.com"); assertTrue(filter.evaluate(document, this.description)); document.u1 = URI.create("http://www.com.net"); assertFalse(filter.evaluate(document, this.description)); document.u1 = null; assertFalse(filter.evaluate(document, this.description)); }
@Test public void evaluateWithBoolean() throws QueryFilterException { QueryFilter filter = QueryFilter.create(Query.Builder.create() .addFieldClause("b1", true) .build()); QueryFilterDocument document; document = new QueryFilterDocument(); document.b1 = true; assertTrue(filter.evaluate(document, this.description)); document.b1 = false; assertFalse(filter.evaluate(document, this.description)); document.b1 = null; assertFalse(filter.evaluate(document, this.description)); }
@Test public void evaluateWithURI() throws QueryFilterException { QueryFilter filter = QueryFilter.create(Query.Builder.create() .addFieldClause("u1", URI.create("http://www.net.com")) .build()); QueryFilterDocument document; document = new QueryFilterDocument(); document.u1 = URI.create("http://www.net.com"); assertTrue(filter.evaluate(document, this.description)); document.u1 = URI.create("http://www.com.net"); assertFalse(filter.evaluate(document, this.description)); document.u1 = null; assertFalse(filter.evaluate(document, this.description)); }
@Test public void evaluateWithEnum() throws QueryFilterException { QueryFilter filter = QueryFilter.create(Query.Builder.create() .addFieldClause("e1", Color.RED) .build()); QueryFilterDocument document; document = new QueryFilterDocument(); document.e1 = Color.RED; assertTrue(filter.evaluate(document, this.description)); document.e1 = Color.BLUE; assertFalse(filter.evaluate(document, this.description)); document.e1 = null; assertFalse(filter.evaluate(document, this.description)); }
@Test public void evaluateWithEnum() throws QueryFilterException { QueryFilter filter = QueryFilter.create(Query.Builder.create() .addFieldClause("e1", Color.RED) .build()); QueryFilterDocument document; document = new QueryFilterDocument(); document.e1 = Color.RED; assertTrue(filter.evaluate(document, this.description)); document.e1 = Color.BLUE; assertFalse(filter.evaluate(document, this.description)); document.e1 = null; assertFalse(filter.evaluate(document, this.description)); }
@Test public void maxExpirationTimeForPaginatedQuery() throws Throwable { setUpHost(false); Query query = Query.Builder.create() .addFieldClause(ServiceDocument.FIELD_NAME_KIND, Utils.buildKind(ExampleServiceState.class)) .build(); // create a paginated query with MAX expiration time QueryTask queryTask = QueryTask.Builder.createDirectTask().setQuery(query).setResultLimit(2).build(); queryTask.documentExpirationTimeMicros = Long.MAX_VALUE; this.host.createQueryTaskService(queryTask, false, true, queryTask, null); assertThat(this.indexService.getPaginatedSearchersByExpirationTime()) .hasSize(1) .containsOnlyKeys(Long.MAX_VALUE); }
@Test public void testLuceneQueryConversion() throws Throwable { Query topLevelQuery = Query.Builder.create() .addFieldClause("name", "foo", Occurance.SHOULD_OCCUR) .addFieldClause("id", "foo-id", Occurance.SHOULD_OCCUR) .build(); org.apache.lucene.search.Query luceneQuery = LuceneQueryConverter.convertToLuceneQuery(topLevelQuery, null); // Assert that the top level MUST_OCCUR is ignored ( old behavior ) assertEquals(luceneQuery.toString(), "name:foo id:foo-id"); luceneQuery = LuceneQueryConverter.convert(topLevelQuery, null); // Assert that the top level MUST_OCCUR is not ignored assertEquals(luceneQuery.toString(), "+(name:foo id:foo-id)"); }
private QueryTask makeQueryTask() { return QueryTask.Builder.createDirectTask() .setQuery(QueryTask.Query.Builder.create() .addKindFieldClause(ExampleServiceState.class) .addFieldClause(ExampleServiceState.FIELD_NAME_NAME, "a", MatchType.WILDCARD, Occurance.MUST_NOT_OCCUR) .addFieldClause(ExampleServiceState.FIELD_NAME_NAME, "c", MatchType.WILDCARD, Occurance.MUST_NOT_OCCUR) .addFieldClause(ExampleServiceState.FIELD_NAME_NAME, "5", MatchType.WILDCARD, Occurance.MUST_NOT_OCCUR) .build()) .setResultLimit(50) .build(); }
private QueryTask createGraphQueryStage(int stageIndex) { QueryTask stage = QueryTask.Builder.create() .addOption(QueryOption.SELECT_LINKS) .addLinkTerm(QueryValidationServiceState.FIELD_NAME_SERVICE_LINKS) .setQuery(Query.Builder.create() .addRangeClause(QueryValidationServiceState.FIELD_NAME_LONG_VALUE, NumericRange.createLongRange((long) stageIndex, (long) stageIndex, true, true)) .addKindFieldClause(QueryValidationServiceState.class) .build()) .build(); return stage; }
@Test public void testLuceneQueryConversion() throws Throwable { Query topLevelQuery = Query.Builder.create() .addFieldClause("name", "foo", Occurance.SHOULD_OCCUR) .addFieldClause("id", "foo-id", Occurance.SHOULD_OCCUR) .build(); org.apache.lucene.search.Query luceneQuery = LuceneQueryConverter.convertToLuceneQuery(topLevelQuery, null); // Assert that the top level MUST_OCCUR is ignored ( old behavior ) assertEquals(luceneQuery.toString(), "name:foo id:foo-id"); luceneQuery = LuceneQueryConverter.convert(topLevelQuery, null); // Assert that the top level MUST_OCCUR is not ignored assertEquals(luceneQuery.toString(), "+(name:foo id:foo-id)"); }