05-03-2020 10:33 AM
Hi all,
In my project I am using the Nuxeo .NET client for querying the assets and until I decided to introduce tags in my project everything worked perfeclty. However, the issue I am facing is querying the assets with more than one tag in the query.
For example, in the Nuxeo repository I have an image asset tagged with the tags: one, two... When I trigger the search via Postman using the following query:
SELECT * FROM Document WHERE dc:title='CorrectTitle' AND ecm:tag='one' AND ecm:tag='second' AND ecm:isTrashed=0 AND ecm:isVersion=0
I get the correct result.
However, when I do the same using the nuxeo .NET client like below the result is empty. When only one tag is included in the search query, the result is correct.
Documents docs = (Documents)_nuxeoClient.Operation("Document.Query")
.SetParameter("query", "SELECT * FROM Document WHERE dc:title='CorrectTitle' AND ecm:tag='one' AND ecm:tag='second' AND ecm:isTrashed=0 AND ecm:isVersion=0")
.AddHeader("X-NXDocumentProperties", "*")
.Execute()
.GetAwaiter()
.GetResult();
Can somebody please tell me what is it that is preventing the .NET client from searching for more than one tag in the document?
05-03-2020 12:40 PM
Hello,
Your NXQL query should be SELECT * FROM Document WHERE dc:title='CorrectTitle' AND ecm:tag IN('one','second') AND ecm:isTrashed=0 AND ecm:isVersion=0"
for document with one
or second
tag. If you need AND
(meaning, your need the two tags on the document), it should be SELECT * FROM Document WHERE dc:title='CorrectTitle' AND ecm:tag/* = 'one' AND ecm:tag/* = 'second' AND ecm:isTrashed=0 AND ecm:isVersion=0"
This is described in https://doc.nuxeo.com/nxdoc/nxql/#special-nxql-properties
Regards
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.