com.marklogic.client.query.QueryManager.newRawCombinedQueryDefinition()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(21.1k)|赞(0)|评价(0)|浏览(149)

本文整理了Java中com.marklogic.client.query.QueryManager.newRawCombinedQueryDefinition方法的一些代码示例,展示了QueryManager.newRawCombinedQueryDefinition的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryManager.newRawCombinedQueryDefinition方法的具体详情如下:
包路径:com.marklogic.client.query.QueryManager
类名称:QueryManager
方法名:newRawCombinedQueryDefinition

QueryManager.newRawCombinedQueryDefinition介绍

[英]Defines a combined query from a JSON or XML representation.
[中]定义来自JSON或XML表示的组合查询。

代码示例

代码示例来源:origin: marklogic/java-client-api

private void check(StructureWriteHandle handle, String optionsName) {
 RawCombinedQueryDefinition rawCombinedQueryDefinition;
 if (optionsName == null) {
  rawCombinedQueryDefinition = queryMgr.newRawCombinedQueryDefinition(handle);
 } else {
  rawCombinedQueryDefinition = queryMgr.newRawCombinedQueryDefinition(handle, optionsName);
 }
 // StringHandle stringResults = null;
 // stringResults = queryMgr.search(rawCombinedQueryDefinition,
 // new StringHandle());
 // System.out.println(stringResults.get());
 SearchHandle results;
 results = queryMgr.search(rawCombinedQueryDefinition,
  new SearchHandle());
 checkResults(results);
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testRawCtsQueryFromFileHandle() throws Exception {
 Common.client.newDocumentManager().write("testRawCtsQueryFromFileHandle.xml",
  new FileHandle(new File("src/test/resources/constraint5.xml")).withFormat(Format.XML));
 String ctsQueryFilePath = "ctsQuery1.xml";
 String ctsQueryAsString = Common.testFileToString(ctsQueryFilePath);
 File ctsQueryFile = new File(Common.getResourceUri(ctsQueryFilePath));
 FileHandle ctsHandle = new FileHandle(ctsQueryFile);
 QueryDefinition[] queries = new QueryDefinition[] {
  queryMgr.newRawCombinedQueryDefinition(ctsHandle),
  queryMgr.newRawCtsQueryDefinition(ctsHandle),
  queryMgr.newRawCombinedQueryDefinitionAs(Format.XML, ctsQueryFile),
  queryMgr.newRawCtsQueryDefinitionAs(Format.XML, ctsQueryFile),
  queryMgr.newRawCtsQueryDefinition(new InputStreamHandle(new FileInputStream(ctsQueryFile))),
  queryMgr.newRawCtsQueryDefinition(new StringHandle(ctsQueryAsString)),
  queryMgr.newRawCtsQueryDefinition(new DOMHandle(Common.testStringToDocument(ctsQueryAsString)))
 };
 for ( QueryDefinition query : queries ) {
  // create result handle
  DOMHandle resultsHandle = new DOMHandle();
  queryMgr.search(query, resultsHandle);
  // get the result
  Document resultDoc = resultsHandle.get();
  assertXpathEvaluatesTo("1", "string(//*[local-name()='result'][last()]//@*[local-name()='index'])", resultDoc);
  assertXpathEvaluatesTo("0026", "string(//*[local-name()='result'][1]//*[local-name()='id' or local-name()='highlight'])", resultDoc);
 }
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testRawCombinedQuery() throws Exception {
 StringHandle structuredQuery = new StringHandle(
  "{ \"search\": " +
   "{ \"query\": " +
    "{ \"queries\": [" +
     "{ \"value-query\": " +
      "{  \"json-property\": \"department\"," +
      "  \"text\": [\"HR\"]" +
      "}" +
     "}" +
    "]}" +
   "}" +
  "}").withFormat(JSON);
 RawCombinedQueryDefinition query = client.newQueryManager().newRawCombinedQueryDefinition(structuredQuery);
 query.setCollections(qhbTestCollection);
 Map<String, String[]> matchesByForest = new HashMap<>();
 matchesByForest.put("java-unittest-1", new String[] {uri1, uri3, uri4});
 matchesByForest.put("java-unittest-2", new String[] {});
 matchesByForest.put("java-unittest-3", new String[] {uri2});
 runQueryBatcher(moveMgr.newQueryBatcher(query), query, matchesByForest, 30, 20);
}

代码示例来源:origin: marklogic/java-client-api

@Test
 public void testRawCombinedCtsQueryFromFileHandle() throws Exception {
  Common.client.newDocumentManager().write("testRawCtsQueryFromFileHandle.xml",
   new FileHandle(new File("src/test/resources/constraint5.xml")).withFormat(Format.XML));

  FileHandle ctsHandle = new FileHandle(new File("src/test/resources/combinedCtsQuery.xml"));

  QueryDefinition[] queries = new QueryDefinition[] {
   queryMgr.newRawCombinedQueryDefinition(ctsHandle),
   queryMgr.newRawCtsQueryDefinition(ctsHandle),
  };
  for ( QueryDefinition query : queries ) {
   // create result handle
   DOMHandle resultsHandle = new DOMHandle();
   queryMgr.search(query, resultsHandle);

   // get the result
   Document resultDoc = resultsHandle.get();

   assertXpathEvaluatesTo("1", "string(//*[local-name()='result'][last()]//@*[local-name()='index'])", resultDoc);
   assertXpathEvaluatesTo("0026", "string(//*[local-name()='result'][1]//*[local-name()='id' or local-name()='highlight'])", resultDoc);
  }
 }
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void test_issue644() {
 QueryManager queryMgr = Common.client.newQueryManager();
 String queryText = "queryThatMatchesNothing";
 RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinition(new StringHandle(
  "<search xmlns='http://marklogic.com/appservices/search'>" +
   "<options>" +
    "<extract-document-data selected='all'>" +
     "<extract-path>/*</extract-path>" +
    "</extract-document-data>" +
    "<return-metrics>true</return-metrics>" +
   "</options>" +
   "<query>" +
    "<term-query><text>" + queryText + "</text></term-query>" +
   "</query>" +
  "</search>"));
 queryMgr.search(query, new SearchHandle());
 // we didn't throw an Exception, which means this issue is resolved
}

代码示例来源:origin: marklogic/java-client-api

private void check(StructureWriteHandle handle, String optionsName) {
 QueryManager queryMgr = Common.client.newQueryManager();
 queryMgr.setPageLength(0);
 RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinition(handle);
 SearchHandle response = queryMgr.search(query, new SearchHandle());
 String wrappedCtsQuery = response.getQuery(new StringHandle()).get();
 // remove the <search:query> wrapper element
 String ctsQuery = wrappedCtsQuery.replaceAll("</?search:query[^>]*>", "");
 long numMatches = response.getTotalResults();
 checkCts(new StringHandle(ctsQuery), optionsName, numMatches);
}

代码示例来源:origin: marklogic/java-client-api

+ "\"options\":{\"return-metrics\":false, \"constraint\":{\"name\":\"id\", \"range\":{\"type\": \"xs:long\",\"json-property\":\"id\"}}}"
  + "}}";
PojoQueryDefinition qd = (PojoQueryDefinition) queryMgr.newRawCombinedQueryDefinition(new StringHandle(queryAsString).withFormat(Format.JSON));

代码示例来源:origin: marklogic/java-client-api

@Test
public void testRawCombinedQueryGeoBoxAndWord() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException,
  TransformerException
{
 System.out.println("Running testRawCombinedQueryGeoBoxAndWord");
 DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType());
 // write docs
 loadGeoData();
 // get the combined query
 File file = new File("src/test/java/com/marklogic/client/functionaltest/combined/combinedQueryOptionGeoBoxAndWord.xml");
 // create a handle for the search criteria
 FileHandle rawHandle = new FileHandle(file); // bug 21107
 QueryManager queryMgr = client.newQueryManager();
 // create a search definition based on the handle
 RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(rawHandle);
 // create result handle
 DOMHandle resultsHandle = new DOMHandle();
 queryMgr.search(querydef, resultsHandle);
 // get the result
 Document resultDoc = resultsHandle.get();
 System.out.println(convertXMLDocumentToString(resultDoc));
 assertXpathEvaluatesTo("1", "string(//*[local-name()='result'][last()]//@*[local-name()='index'])", resultDoc);
 assertXpathEvaluatesTo("/geo-constraint/geo-constraint20.xml", "string(//*[local-name()='result']//@*[local-name()='uri'])", resultDoc);
 // release client
 client.release();
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testRawCombinedQueryGeoPointAndWord() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException,
  XpathException, TransformerException
{
 System.out.println("Running testRawCombinedQueryGeoPointAndWord");
 DatabaseClient client = getDatabaseClient("rest-writer", "x", getConnType());
 // write docs
 for (int i = 1; i <= 9; i++)
 {
  writeDocumentUsingInputStreamHandle(client, "geo-constraint" + i + ".xml", "/geo-constraint/", "XML");
 }
 // get the combined query
 File file = new File("src/test/java/com/marklogic/client/functionaltest/combined/combinedQueryOptionGeoPointAndWord.xml");
 // create a handle for the search criteria
 FileHandle rawHandle = new FileHandle(file); // bug 21107
 QueryManager queryMgr = client.newQueryManager();
 // create a search definition based on the handle
 RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(rawHandle);
 // create result handle
 DOMHandle resultsHandle = new DOMHandle();
 queryMgr.search(querydef, resultsHandle);
 // get the result
 Document resultDoc = resultsHandle.get();
 System.out.println(convertXMLDocumentToString(resultDoc));
 assertXpathEvaluatesTo("1", "string(//*[local-name()='result'][last()]//@*[local-name()='index'])", resultDoc);
 assertXpathEvaluatesTo("/geo-constraint/geo-constraint8.xml", "string(//*[local-name()='result']//@*[local-name()='uri'])", resultDoc);
 // release client
 client.release();
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testBug22179() throws KeyManagementException, NoSuchAlgorithmException, IOException
{
 System.out.println("Running testBug22179");
 String[] filenames = { "constraint1.json", "constraint2.json", "constraint3.json", "constraint4.json", "constraint5.json" };
 DatabaseClient client = getDatabaseClient("rest-writer", "x", getConnType());
 // write docs
 for (String filename : filenames)
 {
  writeDocumentUsingInputStreamHandle(client, filename, "/qbe/", "JSON");
 }
 ServerConfigurationManager confMgr = client.newServerConfigManager();
 confMgr.setQueryValidation(true);
 String combinedCriteria = "{\"search\":{\"options\":{\"constraint\":[{\"name\":\"para\", \"word\":{\"term-option\":[\"case-insensitive\"], \"field\":{\"name\":\"para\"}}},{\"name\":\"id\", \"value\":{\"element\":{\"ns\":\"\", \"name\":\"id\"}}}], \"return-metrics\":false, \"debug\":true, \"return-qtext\":false, \"transform-results\":{\"apply\":\"snippet\"}}, \"query\":{\"queries\":[{\"or-query\":{\"queries\":[{\"and-query\":{\"queries\":[{\"word-constraint-query\":{\"text\":[\"Bush\"], \"constraint-name\":\"para\"}},{\"not-query\":{\"word-constraint-query\":{\"text\":[\"memex\"], \"constraint-name\":\"para\"}}}]}},{\"and-query\":{\"queries\":[{\"value-constraint-query\":{\"text\":[\"0026\"], \"constraint-name\":\"id\"}},{\"term-query\":{\"text\":[\"memex\"]}}]}}]}}]}}}";
 QueryManager queryMgr = client.newQueryManager();
 StringHandle combinedHandle = new StringHandle(combinedCriteria).withFormat(Format.JSON);
 RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(combinedHandle);
 String output = queryMgr.search(querydef, new StringHandle()).get();
 System.out.println(output);
 assertTrue(output.contains("(cts:search(fn:collection(), cts:or-query((cts:and-query((cts:field-word-query"));
 // release client
 client.release();
}

代码示例来源:origin: marklogic/java-client-api

RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(rawHandle);

代码示例来源:origin: marklogic/java-client-api

@Test
public void testRawCombinedQueryGeoBox() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException,
  TransformerException
{
 System.out.println("testRawCombinedQueryGeoBox");
 DatabaseClient client = getDatabaseClient("rest-admin", "x", getConnType());
 // write docs
 loadGeoData();
 // get the combined query
 File file = new File("src/test/java/com/marklogic/client/functionaltest/combined/combinedQueryOptionGeoBox.xml");
 // create a handle for the search criteria
 FileHandle rawHandle = new FileHandle(file); // bug 21107
 QueryManager queryMgr = client.newQueryManager();
 // create a search definition based on the handle
 RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(rawHandle);
 // create result handle
 DOMHandle resultsHandle = new DOMHandle();
 queryMgr.search(querydef, resultsHandle);
 // get the result
 Document resultDoc = resultsHandle.get();
 System.out.println(convertXMLDocumentToString(resultDoc));
 assertXpathEvaluatesTo("3", "string(//*[local-name()='result'][last()]//@*[local-name()='index'])", resultDoc);
 assertXpathEvaluatesTo("karl_kara 12,-5 12,-5 12 -5", "string(//*[local-name()='result'][1]//*[local-name()='match'])", resultDoc);
 assertXpathEvaluatesTo("jack_kara 11,-5 11,-5 11 -5", "string(//*[local-name()='result'][2]//*[local-name()='match'])", resultDoc);
 assertXpathEvaluatesTo("karl_jill 12,-4 12,-4 12 -4", "string(//*[local-name()='result'][3]//*[local-name()='match'])", resultDoc);
 // release client
 client.release();
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testTuples() {
 String str = head + lexiconOptions + tail;
 RawCombinedQueryDefinition rawCombinedQueryDefinition;
 rawCombinedQueryDefinition = queryMgr
  .newRawCombinedQueryDefinition(new StringHandle(str).withMimetype("application/xml"));
 StringHandle stringResults = null;
 ValuesDefinition vdef = queryMgr.newValuesDefinition("n-way");
 vdef.setQueryDefinition(rawCombinedQueryDefinition);
 stringResults = queryMgr.tuples(vdef, new StringHandle());
 System.out.println(stringResults.get());
 TuplesHandle tuplesResults = queryMgr.tuples(vdef,
  new TuplesHandle());
 Tuple[] tuples = tuplesResults.getTuples();
 assertNotNull(tuples);
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testRawCombinedQueryGeoCircle() throws KeyManagementException, NoSuchAlgorithmException, IOException, ParserConfigurationException, SAXException, XpathException,
  TransformerException
{
 System.out.println("testRawCombinedQueryGeoCircle");
 DatabaseClient client = getDatabaseClient("rest-writer", "x", getConnType());
 // write docs
 loadGeoData();
 // get the combined query
 File file = new File("src/test/java/com/marklogic/client/functionaltest/combined/combinedQueryOptionGeoCircle.xml");
 // create a handle for the search criteria
 FileHandle rawHandle = new FileHandle(file); // bug 21107
 QueryManager queryMgr = client.newQueryManager();
 // create a search definition based on the handle
 RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(rawHandle);
 // create result handle
 DOMHandle resultsHandle = new DOMHandle();
 queryMgr.search(querydef, resultsHandle);
 // get the result
 Document resultDoc = resultsHandle.get();
 System.out.println(convertXMLDocumentToString(resultDoc));
 assertXpathEvaluatesTo("5", "string(//*[local-name()='result'][last()]//@*[local-name()='index'])", resultDoc);
 assertXpathEvaluatesTo("karl_kara 12,-5 12,-5 12 -5", "string(//*[local-name()='result'][1]//*[local-name()='match'])", resultDoc);
 assertXpathEvaluatesTo("jack_kara 11,-5 11,-5 11 -5", "string(//*[local-name()='result'][2]//*[local-name()='match'])", resultDoc);
 assertXpathEvaluatesTo("karl_jill 12,-4 12,-4 12 -4", "string(//*[local-name()='result'][3]//*[local-name()='match'])", resultDoc);
 assertXpathEvaluatesTo("bill_kara 13,-5 13,-5 13 -5", "string(//*[local-name()='result'][4]//*[local-name()='match'])", resultDoc);
 assertXpathEvaluatesTo("karl_gale 12,-6 12,-6 12 -6", "string(//*[local-name()='result'][5]//*[local-name()='match'])", resultDoc);
 // release client
 client.release();
}

代码示例来源:origin: marklogic/java-client-api

StringHandle rawHandle = new StringHandle(combined);
RawCombinedQueryDefinition rawDef = queryMgr.newRawCombinedQueryDefinition(rawHandle);

代码示例来源:origin: marklogic/java-client-api

RawCombinedQueryDefinition querydef = queryMgr.newRawCombinedQueryDefinition(rawHandle);

代码示例来源:origin: marklogic/java-client-api

@Test
public void testValues() {
 String str = head + lexiconOptions + tail;
 RawCombinedQueryDefinition rawCombinedQueryDefinition;
 rawCombinedQueryDefinition = queryMgr
  .newRawCombinedQueryDefinition(new StringHandle(str).withMimetype("application/xml"));
 StringHandle stringResults = null;
 ValuesDefinition vdef = queryMgr.newValuesDefinition("grandchild");
 vdef.setQueryDefinition(rawCombinedQueryDefinition);
 stringResults = queryMgr.tuples(vdef, new StringHandle());
 System.out.println(stringResults.get());
 ValuesHandle valuesResults = queryMgr.values(vdef,
  new ValuesHandle());
 assertFalse(valuesResults.getMetrics().getTotalTime() == -1);
 CountedDistinctValue[] values = valuesResults.getValues();
 assertNotNull(values);
}

代码示例来源:origin: marklogic/java-client-api

QueryManager queryMgr = Common.client.newQueryManager();
queryMgr.startLogging(logger);
RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinition(new StringHandle(
 "<search xmlns='http://marklogic.com/appservices/search'>" + "<options>" + "<extract-document-data selected='all'>" + "<extract-path>//description[@xml:lang='en']</extract-path>" + "</extract-document-data>" + "<constraint name='myFacet'>" + "<range type='xs:string' facet='true'>" + "<element name='grandchild'/>" + "</range>" + "</constraint>" + "<extract-metadata>" + "<qname elem-name='description'/>" + "</extract-metadata>" + "<return-constraints>true</return-constraints>" + "<return-facets>true</return-facets>" + "<return-metrics>true</return-metrics>" + "<return-plan>true</return-plan>" + "<return-qtext>true</return-qtext>" + "<return-query>true</return-query>" + "<return-results>true</return-results>" + "<debug>true</debug>" + "</options>" + "<query>" + "<and-query>" + "<collection-query><uri>xml</uri></collection-query>" + "<collection-query><uri>products</uri></collection-query>" + "</and-query>" + "</query>" + "</search>"));
queryMgr.setView(QueryView.ALL);

代码示例来源:origin: marklogic/java-client-api

@Ignore
public void testGeospatialRegionQueryConstraint() {
 QueryManager queryMgr = Common.client.newQueryManager();
 StructuredQueryBuilder qb = queryMgr.newStructuredQueryBuilder();
 StructuredQueryDefinition qdef;
 String options = "<options xmlns=\"http://marklogic.com/appservices/search\">"
         + "  <constraint name='geo'>"
         + "    <geo-region-path coord='wgs84'>"
         + "      <path-index>/country/region</path-index>"
         + "    </geo-region-path>"
         + "  </constraint>"
         + "</options>";
 qdef = qb.geospatialRegionConstraint("geo", GeospatialOperator.CONTAINS,
  qb.point(19.429297983081977, -99.140625));
 String combinedQuery =
  "<search xmlns=\"http://marklogic.com/appservices/search\">" +
  qdef.serialize() + options +
  "</search>";
 RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinition(new StringHandle(combinedQuery));
 SearchHandle results = queryMgr.search(query, new SearchHandle());
 MatchDocumentSummary[] summaries = results.getMatchResults();
 assertEquals(1, summaries.length);
 for (MatchDocumentSummary summary : summaries) {
  assertEquals("mexico.xml", summary.getUri());
 }
}

代码示例来源:origin: marklogic/java-client-api

@Test
public void testFailedSearch() throws IOException {
 StructuredQueryBuilder qb = queryMgr.newStructuredQueryBuilder();
 StructuredQueryDefinition t = qb.term("criteriaThatShouldNotMatchAnyDocument");
 RawCombinedQueryDefinition queryDef = queryMgr.newRawCombinedQueryDefinition(
  new StringHandle(head + t.serialize() + tail)
   .withMimetype("application/xml")
 );
 SearchHandle results = queryMgr.search(queryDef, new SearchHandle());
 assertNotNull(results);
 MatchDocumentSummary[] summaries = results.getMatchResults();
 assertTrue(summaries == null || summaries.length == 0);
 StringHandle criteria = new StringHandle().withFormat(Format.XML);
 criteria.set("<q:query xmlns:q='" + RawQueryByExampleDefinition.QBE_NS
  + "'>"
  + "<q:word>criteriaThatShouldNotMatchAnyDocument</q:word>"
  + "</q:query>");
 RawQueryByExampleDefinition qbe = queryMgr.newRawQueryByExampleDefinition(criteria);
 results = queryMgr.search(qbe, new SearchHandle());
 assertNotNull(results);
 summaries = results.getMatchResults();
 assertTrue(summaries == null || summaries.length == 0);
}

相关文章