<?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 Re: About Transactional queries with Alfresco One in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308060#M261190</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;TRANSACTIONAL_IF_POSSIBLE will try to execute all your searches on the DB first but if the query is too complex to be executed there or transactional queries aren't supported (hint: optional patch), it will silently fall back to SOLR search, ensuring that users get a normal result instead of an error (result may be empty but still beats an error).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The property in alfresco-global.properties is required for the transactional query functionality (as it states in the doc) but optional for Alfresco as a whole since Alfresco will work without transactional queries (due to TRANSACTIONAL_IF_POSSIBLE). Alfresco provides all the necessary indices which you enable with that property (or rather, disable the ignoring of the indices).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There are various restrictions to what transactional metadata queries support and what not. See the documentation for details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In general, do not use PATH, SITE, ANCESTOR, OR, any d:content, d:boolean or d:any (among others) properties in your query or it will not be executable against the DB. Also, any property checks must be expressed in a form that means "identical value check" as querying the DB does not provide the same tokenization / similarity capabilities as the SOLR index. E.g. instead of my&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;roperty:"value" you'd have to use =my&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;roperty:"value" and "value" must be written in the proper case the value is stored in the DB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my experience, transactional queries is nothing that can be easily used / understood by end users. It is more a tool for developers to ensure their technical queries can be executed even with SOLR not being available / trustworthy, e.g. due to an outage, out-of-date indices, reindexing. The transactionality requirement is also more relevant for developers than for end users.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Oct 2015 08:07:39 GMT</pubDate>
    <dc:creator>afaust</dc:creator>
    <dc:date>2015-10-22T08:07:39Z</dc:date>
    <item>
      <title>About Transactional queries with Alfresco One</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308059#M261189</link>
      <description>Hi,we have just upgrade to Alfresco 5.0.2 (we had 4.1.6 version) to reduce the response time of our searches, because with millions of documents it becomes too low.The main change is with the transactional queries, that search on DB instead of directly on Solr. But I need to confirm if I understand</description>
      <pubDate>Wed, 21 Oct 2015 15:02:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308059#M261189</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-10-21T15:02:39Z</dc:date>
    </item>
    <item>
      <title>Re: About Transactional queries with Alfresco One</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308060#M261190</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;TRANSACTIONAL_IF_POSSIBLE will try to execute all your searches on the DB first but if the query is too complex to be executed there or transactional queries aren't supported (hint: optional patch), it will silently fall back to SOLR search, ensuring that users get a normal result instead of an error (result may be empty but still beats an error).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The property in alfresco-global.properties is required for the transactional query functionality (as it states in the doc) but optional for Alfresco as a whole since Alfresco will work without transactional queries (due to TRANSACTIONAL_IF_POSSIBLE). Alfresco provides all the necessary indices which you enable with that property (or rather, disable the ignoring of the indices).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There are various restrictions to what transactional metadata queries support and what not. See the documentation for details.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In general, do not use PATH, SITE, ANCESTOR, OR, any d:content, d:boolean or d:any (among others) properties in your query or it will not be executable against the DB. Also, any property checks must be expressed in a form that means "identical value check" as querying the DB does not provide the same tokenization / similarity capabilities as the SOLR index. E.g. instead of my&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;roperty:"value" you'd have to use =my&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;roperty:"value" and "value" must be written in the proper case the value is stored in the DB.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In my experience, transactional queries is nothing that can be easily used / understood by end users. It is more a tool for developers to ensure their technical queries can be executed even with SOLR not being available / trustworthy, e.g. due to an outage, out-of-date indices, reindexing. The transactionality requirement is also more relevant for developers than for end users.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Oct 2015 08:07:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308060#M261190</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2015-10-22T08:07:39Z</dc:date>
    </item>
    <item>
      <title>Re: About Transactional queries with Alfresco One</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308061#M261191</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Oks Axel, thanks for your responses! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Only two clarifications about it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1. "Alfresco provides all the necessary indices which you enable with that property". These indexes, are the indexes that I specify on model.xml with index enabled=true? Ergo, if I add index enabled=true on 4 metadates, then Alfresco create these 4 indexes on DB. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If not, if are indexes only for DB and not are the same that the model indexes, I must specify on some place which metadates I want to index? I supose that Alfresco don't index all the metadates, because it's not efficient.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And I understand too that put or not index enabled=true don't affect if I use transactional queries, because these indexes only serve to SOLR, not to DB. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I must check what is faster. Search on DB, or search on SOLR a metadata indexed. Could you give me an example of how add a new index for a custom property that I add to model.xml? For example, the property doc:myDoc that I write on the next point.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. "Do not use PATH, SITE, ANCESTOR, OR, any d:content, d:boolean or d:any (among others) properties in your query or it will not be executable against the DB". &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Imagine that I create some properties like this…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt; &amp;lt;type name="doc:myDoc"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;parent&amp;gt;cm:content&amp;lt;/parent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;properties&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;property name="doc:level"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Level&amp;lt;/title&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;type&amp;gt;d:text&amp;lt;/type&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mandatory&amp;gt;true&amp;lt;/mandatory&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;index enabled="true"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;atomic&amp;gt;true&amp;lt;/atomic&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;stored&amp;gt;false&amp;lt;/stored&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tokenised&amp;gt;both&amp;lt;/tokenised&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/index&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/properties&amp;gt;&lt;BR /&gt; &amp;lt;/type&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I want to search with a query, like for example @doc\\:level:"value", this is a d:content query that don't works on DB? And I can't put the =@ to find an exact value if I want to search transactionally on DB? Maybe I don't understant it ok, sorry.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Oct 2015 10:06:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308061#M261191</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-10-22T10:06:00Z</dc:date>
    </item>
    <item>
      <title>Re: About Transactional queries with Alfresco One</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308062#M261192</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;1) Index configuration in the model is irrelevant for transactional queries. Alfresco adds DB table indices and due to the nature of the Alfresco schema, they affect the entire table of properties. There is no way to differentiate which properties should be supported and which shouldn't. The only technical differentiation is the type of property - e.g. d:boolean are generally not supported due low efficiency of DB indices (on some DBs at least) for this type of column.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2) You can't transactionally search for d:content because the actual textual content values are not stored in the database. They are stored in the respective files on disk and it would be disastrous if the transactional query would inspect those…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Oct 2015 08:14:06 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308062#M261192</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2015-10-23T08:14:06Z</dc:date>
    </item>
    <item>
      <title>Re: About Transactional queries with Alfresco One</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308063#M261193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok, a lot of thanks again Axel! Your responses are always useful! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Oct 2015 12:08:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/about-transactional-queries-with-alfresco-one/m-p/308063#M261193</guid>
      <dc:creator>spilby</dc:creator>
      <dc:date>2015-10-23T12:08:32Z</dc:date>
    </item>
  </channel>
</rss>

