02-19-2018 04:03 PM
Why does, when using contains in CMIS query works as like predicate. For example, consider the following query,
Select * from common:basedoctype where CONTAINS('PATH:"//app:company_home/st:sites/cm:digitalcontent/cm:documentLibrary//*"') AND common:keywords ='external_link'.
This query returns all content with keywords 'external_link' and also those contents with keywords 'external_link_text' as well. when i remove the contains clause it return only the contents with keywords external_link.
Why does when using contains it works as if i specified external_link*.
02-20-2018 04:56 AM
Hi:
Probably it is due that your custom property (common:keywords) is being tokenized when indexing. This is done in the indexation part of the cited property in your content model definition. Maybe with a tokenized=false, and a reindexation of this property is enough. But test it first in a dev env to be sure, cause this may be complicated in a production env with many documents with this property (as it may involve a non incremental change of your content model, reindexation, etc).
Regards.
--C.
02-20-2018 11:06 AM
Hi,
Thanks for the reply. I will try it out.
Can you explain what tokenized means?
Also does setting tokenised to false makes the search case sensitive?
02-20-2018 12:06 PM
Hi:
Some links:
Content Model - Defining and Deploying | Alfresco Documentation (look for tokenized)
Transactional metadata queries supported by database | Alfresco Documentation
Regards.
--C.
02-22-2018 06:37 AM
Hi
If a query goes to the database, case sensitivity is defined by the database collation. With SOLR, full text search matches are case insensitive and identifier matches are case sensitive.
Andy
Explore our Alfresco products with the links below. Use labels to filter content by product module.