There seems to be an issue with trying to sort on a base model field when I use a custom aspect in my query. This is the query I am trying to run:
var def = { query: 'TYPE:"cm:person" AND gf:userOrgs:RECEIVERORG', store: "workspace://SpacesStore", language: "fts-alfresco", page: { maxItems: 100, skipCount: 0 }, sort: [{ column: 'cm:userName', ascending: true }] }; var result = search.query(def);
The sort works fine when I "userName" as sort but as soons as I user "firstName" or "email" it fails. If I remove gf;userOrgs from the query it works fine. It gives the following error in the logs:
Caused by: org.alfresco.repo.search.impl.lucene.LuceneQueryParserException: 04270500 Request failed 500 /solr/alfresco/afts?wt=json&fl=DBID%2Cscore&rows=100&df=TEXT&start=0&locale=en_US&alternativeDic=DEFAULT_DICTIONARY&sort=cm%3AfirstName+asc&fq=%7B%21afts%7DAUTHORITY_FILTER_FROM_JSON&fq=%7B%21afts%7DTENANT_FILTER_FROM_JSON
My gf:userOrgs has been defined as an array on the user:
Collection RECEIVERORG CREATORORG
Any help would be appreciated, thanks.
Also, I have tried indexing the custom aspect to see if that was the problem:
<aspect name="gf:userOrganizations"> <title>User Organizations</title> <properties> <property name="gf:userOrgs"> <title>Organizations</title> <type>d:text</type> <multiple>true</multiple> <index enabled="true"> <atomic>true</atomic> <stored>false</stored> <tokenised>false</tokenised> <facetable>true</facetable> </index> </property> </properties> </aspect>
Try query as: 'TYPE:"cm\\:person" AND @gf\\:userOrgs:RECEIVERORG'
var def = { query: 'TYPE:"cm\\:person" AND @gf\\:userOrgs:RECEIVERORG', store: "workspace://SpacesStore", language: "fts-alfresco", page: { maxItems: 100, skipCount: 0 }, sort: [{ column: 'cm:userName', ascending: true }] }; var result = search.query(def);
Nope, I am still getting the same error.
Can you try running this query in node browser and see what you get:
'TYPE:"cm\\:person" AND @gf\\:userOrgs:RECEIVERORG'
Running
'TYPE:"cm\\erson" AND @gf\\:userOrgs:RECEIVERORG' gives "No Items found" while running
TYPE:"cmerson" AND @gf:userOrgs:RECEIVERORG returns the appropriate results
Sorry these are the correct queries:
'TYPE:"cm\\:person" AND @gf\\:userOrgs:RECEIVERORG' TYPE:"cm:person" AND @gf:userOrgs:RECEIVERORG
The query i shared is the same query you posted here. When you execute it via js, you have to escape the characters.
SO there no results when running this query:
'TYPE:"cm:person" AND @gf:userOrgs:ORG1'
This is incorrect, I can see this aspect on the user:
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.