cancel
Showing results for 
Search instead for 
Did you mean: 

Switch between Solr and DB for Query Execution

devkinandanchau
Champ in-the-making
Champ in-the-making

Using Alfresco Community - 5.0.0 version.

Tried below properties in alfresco-global.properties file:

queryConsistency=EVENTUAL then all queries are going to Solr.

queryConsistency=TRANSACTIONAL then all queries are going to DB. 

And Default mode executes all queries from DB first then Solr in case of failure from DB.

Q1: Is there any mode by which I can query Solr first and if there are no results from Solr then query DB in one transaction? 

Q2: Can we execute some queries from Solr and some from DB from JAVA side? 

1 REPLY 1

cesarista
World-Class Innovator
World-Class Innovator

Hi:

I think you refer to the following properties:

solr.query.cmis.queryConsistency

solr.query.fts.queryConsistency

Q1: No, you have three modes TRANSACTIONAL_IF_POSSIBLE (first database, if not SOLR), TRANSACTIONAL (database only), EVENTUAL (solr only).

Q2: In the first mode, you can compare the results of a CMIS query obtained from database, with a solr-based query "introducing" an extra part that makes the query only to be solved with SOLR (for example adding some unsupported predicate for database)

Transactional metadata queries supported by database | Alfresco Documentation 

Regards.

--C.