@Override public void deleteAll(Transaction transaction) { QueryManager queryMgr = client.newQueryManager(); DeleteQueryDefinition deleteQuery = queryMgr.newDeleteDefinition(); deleteQuery.setCollections(entityClass.getName()); queryMgr.delete(deleteQuery, transaction); } /* REST API does not currently support DELETE /search with multiple collection arguments
@Override public QueryBatcher buildQueryBatcher(DatabaseClient databaseClient, DataMovementManager dataMovementManager) { StructuredQueryDefinition query = databaseClient.newQueryManager().newStructuredQueryBuilder().collection(collectionUris); return dataMovementManager.newQueryBatcher(query); } }
@Override public List<String> getJobNames() { List<String> jobNames = new ArrayList<>(); QueryManager queryMgr = databaseClient.newQueryManager(); ValuesDefinition valuesDef = queryMgr.newValuesDefinition("jobName", SEARCH_OPTIONS_NAME); ValuesHandle results = queryMgr.values(valuesDef, new ValuesHandle()); for (CountedDistinctValue value : results.getValues()) { jobNames.add(value.get("xs:string", String.class)); } return jobNames; }
@Override public QueryBatcher buildQueryBatcher(DatabaseClient databaseClient, DataMovementManager dataMovementManager) { StructuredQueryDefinition query = databaseClient.newQueryManager().newStructuredQueryBuilder().document(documentUris); return dataMovementManager.newQueryBatcher(query); } }
public List<String> getUrisInCollection(String collectionName, int pageLength) { QueryManager mgr = getClient().newQueryManager(); mgr.setPageLength(pageLength); StringQueryDefinition def = mgr.newStringDefinition(); def.setCollections(collectionName); SearchHandle h = mgr.search(def, new SearchHandle()); List<String> uris = new ArrayList<String>(); for (MatchDocumentSummary s : h.getMatchResults()) { uris.add(s.getUri()); } return uris; }
@BeforeClass public static void beforeClass() { Common.connect(); queryMgr = Common.client.newQueryManager(); }
public long getCollectionSize(String collectionName) { QueryManager queryMgr = getClient().newQueryManager(); StringQueryDefinition def = queryMgr.newStringDefinition(); def.setCollections(collectionName); SearchHandle sh = queryMgr.search(def, new SearchHandle()); return sh.getTotalResults(); }
@BeforeClass public static void beforeClass() { Common.connectAdmin(); docMgr = Common.adminClient.newXMLDocumentManager(); queryMgr = Common.adminClient.newQueryManager(); }
public static void cleanUp() { QueryManager queryMgr = client.newQueryManager(); DeleteQueryDefinition deleteQuery = queryMgr.newDeleteDefinition(); deleteQuery.setDirectory(DIRECTORY); queryMgr.delete(deleteQuery); } }
public static void cleanUpData() { QueryManager qm = Common.client.newQueryManager(); DeleteQueryDefinition deleteQuery = qm.newDeleteDefinition(); deleteQuery.setDirectory("/animals/"); qm.delete(deleteQuery); } }
@BeforeClass public static void beforeClass() { Common.connect(); docMgr = Common.client.newXMLDocumentManager(); queryMgr = Common.client.newQueryManager(); } @AfterClass
@AfterClass public static void afterClass() { docMgr.delete(uri1, uri2, uri3); QueryManager queryMgr = client.newQueryManager(); DeleteQueryDefinition deleteQuery = queryMgr.newDeleteDefinition(); deleteQuery.setCollections(whbTestCollection); queryMgr.delete(deleteQuery); }
@Test public void testJSON() { QueryManager queryMgr = Common.client.newQueryManager(); StructuredQueryBuilder qb = queryMgr.newStructuredQueryBuilder(); StructuredQueryDefinition t = qb.term("leaf3"); // create a handle for the search results StringHandle resultsHandle = new StringHandle().withFormat(Format.JSON); // run the search queryMgr.search(t, resultsHandle); assertEquals("{", resultsHandle.get().substring(0, 1)); // It's JSON, right? }
@Test public void testNoSuggestion() { QueryManager queryMgr = Common.client.newQueryManager(); SuggestDefinition def = queryMgr.newSuggestDefinition(optionsName); String[] suggestions = queryMgr.suggest(def); assertEquals(suggestions.length, 10); assertEquals("string:", suggestions[0]); assertEquals("hate", suggestions[1]); }
@Test public void testOneSuggestion() { QueryManager queryMgr = Common.client.newQueryManager(); SuggestDefinition def = queryMgr.newSuggestDefinition("l", optionsName); String[] suggestions = queryMgr.suggest(def); assertEquals(4, suggestions.length); assertEquals("lard", suggestions[0]); assertEquals("limes", suggestions[1]); }
@Test public void testSuggestionWithQuery() { QueryManager queryMgr = Common.client.newQueryManager(); SuggestDefinition def = queryMgr.newSuggestDefinition(optionsName); def.setStringCriteria("li"); def.setQueryStrings("string:FINDME"); String[] suggestions = queryMgr.suggest(def); assertEquals(1, suggestions.length); assertEquals("limes", suggestions[0]); }
@Test public void testBadQueryAndThrowException() { RawStructuredQueryDefinition query = client.newQueryManager().newRawStructuredQueryDefinition( new StringHandle("<this is not a valid structured query>").withFormat(JSON)); // we'll see one failure per forest List<String> urisIterator = testQueryExceptions(query, 0, moveMgr.readForestConfig().listForests().length); // without any matching uris, there will be no success or failure batches testIteratorExceptions(urisIterator, 0, 0); }
@Test public void testFailedSearch() throws IOException { QueryManager queryMgr = Common.client.newQueryManager(); StructuredQueryBuilder qb = queryMgr.newStructuredQueryBuilder(); StructuredQueryDefinition qdef = qb.term( "criteriaThatShouldNotMatchAnyDocument"); SearchHandle results = queryMgr.search(qdef, new SearchHandle()); assertNotNull(results); MatchDocumentSummary[] summaries = results.getMatchResults(); assertTrue(summaries == null || summaries.length == 0); }
@Test public void testSuggestionWithCursor() { QueryManager queryMgr = Common.client.newQueryManager(); SuggestDefinition def = queryMgr.newSuggestDefinition("la", optionsName); def.setCursorPosition(0); String[] suggestions = queryMgr.suggest(def); assertEquals(suggestions.length, 10); // if cursor position is at the 'a', then we get full suggest. def.setCursorPosition(1); suggestions = queryMgr.suggest(def); assertEquals(suggestions.length, 1); }
@Test public void testBulkSearchSQDwithNoResults() throws KeyManagementException, NoSuchAlgorithmException, Exception { loadTxtDocuments(); TextDocumentManager docMgr = client.newTextDocumentManager(); QueryManager queryMgr = client.newQueryManager(); StringQueryDefinition qd = queryMgr.newStringDefinition(); qd.setCriteria("zzzz"); SearchHandle results = new SearchHandle(); DocumentPage page = docMgr.search(qd, 1, results); assertFalse("Should return no results", page.hasNext()); }