本文整理了Java中com.marklogic.client.query.QueryManager.newRawCombinedQueryDefinition
方法的一些代码示例,展示了QueryManager.newRawCombinedQueryDefinition
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryManager.newRawCombinedQueryDefinition
方法的具体详情如下:
包路径:com.marklogic.client.query.QueryManager
类名称: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);
}
内容来源于网络,如有侵权,请联系作者删除!