<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic CONTAINS keyword usage in CMIS queries in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/contains-keyword-usage-in-cmis-queries/m-p/301917#M255047</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have CONTAINS keyword usage question. I am using Alfresco 5.0.d and trying to query my custom type objects via CMIS like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;SELECT * FROM custom:type WHERE CONTAINS('test')&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tested this query via OpenCMIS Workbench. I expected to get all custom:type entries where at least one of my custom attributes has the text 'test'. But I guess I misunderstood how CONTAINS keyword works with CMIS - I get no results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found this earlier post which describes similar problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.alfresco.com/forum/developer-discussions/alfresco-api/cmis-contains-not-finding-documents-expected-03142011-1523" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/forum/developer-discussions/alfresco-api/cmis-contains-not-finding-documents-expected-03142011-1523&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;And I thought that this was fixed in version 3.4.3.. but it appears it is not the case.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also tried this (same results as before):&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;SELECT * FROM custom:type WHERE CONTAINS('TEXT:test')&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;and this (I get an exception):&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;SELECT * FROM custom:type WHERE CONTAINS('ALL:test')&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;The latter query resulted in an error in workbench ("runtime: 08091542 Request failed 500 /solr4/alfresco/cmis…") and in alfresco logs:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;ERROR [solr.core.SolrCore] [http-bio-8443-exec-3] java.lang.UnsupportedOperationException&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.solr.query.Solr4QueryParser.createAllQuery(Solr4QueryParser.java:1005)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.solr.query.Solr4QueryParser.getFieldQuery(Solr4QueryParser.java:615)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.solr.query.Lucene4QueryParserAdaptor.getFieldQuery(Lucene4QueryParserAdaptor.java:67)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.solr.query.Lucene4QueryParserAdaptor.getFieldQuery(Lucene4QueryParserAdaptor.java:48)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.search.impl.querymodel.impl.lucene.functions.LuceneFTSTerm.addComponent(LuceneFTSTerm.java:68)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneFunctionalConstraint.addComponent(LuceneFunctionalConstraint.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneQuery.buildQuery(LuceneQuery.java:105)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.solr.AlfrescoSolrDataModel.getCMISQuery(AlfrescoSolrDataModel.java:2004)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.alfresco.solr.query.CmisQParserPlugin$CmisQParser.parse(CmisQParserPlugin.java:189)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.solr.search.QParser.getQuery(QParser.java:141)&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So the questions at hand are: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How should CONTAINS keyword work? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to achieve my requirement (search in all attributes, without specifying all of them in the query)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Charlie&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Sep 2015 14:28:28 GMT</pubDate>
    <dc:creator>charlie_k</dc:creator>
    <dc:date>2015-09-09T14:28:28Z</dc:date>
    <item>
      <title>CONTAINS keyword usage in CMIS queries</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/contains-keyword-usage-in-cmis-queries/m-p/301917#M255047</link>
      <description>Hello,I have CONTAINS keyword usage question. I am using Alfresco 5.0.d and trying to query my custom type objects via CMIS like this&lt;IMG id="smileyfrustrated" class="emoticon emoticon-smileyfrustrated" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-frustrated.png" alt="Smiley Frustrated" title="Smiley Frustrated" /&gt;ELECT * FROM custom:type WHERE CONTAINS('test')‍I tested this query via OpenCMIS Workbench. I expected to get all custom:type entries where at least one of my custom</description>
      <pubDate>Wed, 09 Sep 2015 14:28:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/contains-keyword-usage-in-cmis-queries/m-p/301917#M255047</guid>
      <dc:creator>charlie_k</dc:creator>
      <dc:date>2015-09-09T14:28:28Z</dc:date>
    </item>
    <item>
      <title>Re: CONTAINS keyword usage in CMIS queries</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/contains-keyword-usage-in-cmis-queries/m-p/301918#M255048</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Unfortunately, you will not be able to use pseudo-field "ALL", because it isn't implemented on alfresco side. Take a look at sources of method createAllQuery of class org.alfresco.solr.query.Solr4QueryParser:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;protected Query createAllQuery(String queryText, AnalysisMode analysisMode, LuceneFunction luceneFunction) throws ParseException {&lt;BR /&gt;// Set&amp;lt;String&amp;gt; all = searchParameters.getAllAttributes();&lt;BR /&gt;// if ((all null) || (all.size() 0))&lt;BR /&gt;// {&lt;BR /&gt;// Collection&amp;lt;QName&amp;gt; contentAttributes = dictionaryService.getAllProperties(null);&lt;BR /&gt;// BooleanQuery query = new BooleanQuery();&lt;BR /&gt;// for (QName qname : contentAttributes)&lt;BR /&gt;// {&lt;BR /&gt;// // The super implementation will create phrase queries etc if required&lt;BR /&gt;// Query part = getFieldQuery(PROPERTY_FIELD_PREFIX + qname.toString(), queryText, analysisMode, luceneFunction);&lt;BR /&gt;// if (part != null)&lt;BR /&gt;// {&lt;BR /&gt;// query.add(part, Occur.SHOULD);&lt;BR /&gt;// }&lt;BR /&gt;// else&lt;BR /&gt;// {&lt;BR /&gt;// query.add(createNoMatchQuery(), Occur.SHOULD);&lt;BR /&gt;// }&lt;BR /&gt;// }&lt;BR /&gt;// return query;&lt;BR /&gt;// }&lt;BR /&gt;// else&lt;BR /&gt;// {&lt;BR /&gt;// BooleanQuery query = new BooleanQuery();&lt;BR /&gt;// for (String fieldName : all)&lt;BR /&gt;// {&lt;BR /&gt;// Query part = getFieldQuery(fieldName, queryText, analysisMode, luceneFunction);&lt;BR /&gt;// if (part != null)&lt;BR /&gt;// {&lt;BR /&gt;// query.add(part, Occur.SHOULD);&lt;BR /&gt;// }&lt;BR /&gt;// else&lt;BR /&gt;// {&lt;BR /&gt;// query.add(createNoMatchQuery(), Occur.SHOULD);&lt;BR /&gt;// }&lt;BR /&gt;// }&lt;BR /&gt;// return query;&lt;BR /&gt;// }&lt;BR /&gt;throw new UnsupportedOperationException();&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, you always receive UnsupportedOperationException, because other lines are commented.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jan 2016 16:08:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/contains-keyword-usage-in-cmis-queries/m-p/301918#M255048</guid>
      <dc:creator>s_palyukh</dc:creator>
      <dc:date>2016-01-28T16:08:00Z</dc:date>
    </item>
  </channel>
</rss>

