Skip to content

Add CtsQueryBuilder for search in Java API #1260

Closed
@llinggit

Description

@llinggit

Link to the task in Jira: https://project.marklogic.com/jira/browse/JAVA-196

Copy of description in the task:

"Currently, the Java API provides the StructuredQueryBuilder class to make search easy.

StructuredQueryBuilder, however, generates structured queries for the Search API. The Search API is both inefficient (because the structured queries have to be transformed to cts.query on the server) and limited (because structured queries expose only a subset of the cts.query constructors).

The Java API also provides support for building a cts.query in the PlanBuilder for the Optic API. Currently, however, this builder cannot be used for search because the queries are serialized using the Optic functional AST. The Optic functional AST makes it possible to declare expressions that yield inputs to the cts.query constructors. The /v1/search endpoint, however, doesn't understand the Optic functional AST.

This improvement enhances the Java API with a cts.query builder to make search easy. See also:
#376
The existing com.marklogic.client.query package adds two new interfaces and an abstract class."

So we can address your issue, please include the following:

Version of MarkLogic Java Client API

See Readme.txt

Version of MarkLogic Server

See admin gui on port 8001 or run xdmp:version() in Query Console - port 8000)

Java version

Run java -version

OS and version

For MAC, run sw_vers.
For Windows, run systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
For Linux, run cat /etc/os-release and uname -r

Input: Some code to illustrate the problem, preferably in a state that can be independently reproduced on our end

Actual output: What did you observe? What errors did you see? Can you attach the logs? (Java logs, MarkLogic logs)

Expected output: What specifically did you expect to happen?

Alternatives: What else have you tried, actual/expected?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions