Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The JcrIndexQueryManager interface is the primary service API for performing search queries on the index. It can be used to perform queries in the JCR on node type, properties that must match certain values and more. More information can be found in the For complete information on the available query methods, see the XperienCentral Javadoc.


...

Indexed Properties

When queries are performed on the JcrIndexQueryManager using the property matching method, the performance of this method heavily depends on whether these properties are contained in the index or not. Properties that are stored in the wmJcrIndexProperties table of the JCR index are referred to as "indexed properties". Performing queries on those properties is fast because the query can directly operate on the corresponding property in this table. When a query is executed on properties that are not indexed, the query will be much slower because it needs to retrieve the property from the JCR first before it can check whether the property matches.

...

Info

After adding an indexed property, a “re-index” flag will be set to TRUE because no values are available for that property in the JCR index tables yet. When the quick scan task is being executed, a re-index will be performed automatically. See the section Reindex above.

Removing an Indexed Property

...

  1. Stop XperienCentral.
  2. Open the file <wm-root>/work/<jcr directory>/repository.xml in a text editor.
  3. Add the following declarations to the <Workspace></Workspace> section:

    Code Block
    themeEclipse
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> 
       <param name="path" value="${wsp.home}/index" />
       <param name="respectDocumentOrder" value="false" />
       <param name="useCompoundFile" value="true" />
       <param name="minMergeDocs" value="100" />
       <param name="volatileIdleTime" value="3" />
       <param name="maxMergeDocs" value="100000" />
       <param name="mergeFactor" value="100" /><!-- old: 10 -->
       <param name="bufferSize" value="100" /><!-- old: 10 -->
       <param name="cacheSize" value="100000" /><!-- old: 1000 -->
       <param name="forceConsistencyCheck" value="false" />
       <param name="autoRepair" value="true" />
       <param name="onWorkspaceInconsistency" value="log" />
    </SearchIndex>



  4. Add the following declarations to the <Versioning></Versioning> section:


    Code Block
    themeEclipse
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
       <param name="path" value="${rep.home}/repository/index" />
       <param name="respectDocumentOrder" value="false" />
       <param name="useCompoundFile" value="true" />
       <param name="minMergeDocs" value="100" />
       <param name="volatileIdleTime" value="3" />
       <param name="maxMergeDocs" value="100000" />
       <param name="mergeFactor" value="100" /><!-- old: 10 -->
       <param name="bufferSize" value="100" /><!-- old: 10 -->
       <param name="cacheSize" value="100000" /><!-- old: 1000 -->
       <param name="forceConsistencyCheck" value="false" />
       <param name="autoRepair" value="true" />
       <param name="onWorkspaceInconsistency" value="log" />
    </SearchIndex>



  5. Save repository.xml.
  6. Delete the directory <wm-root>/work/jcr/repository.
  7. Restart XperienCentral. The Apache Jackrabbit JCR index will be built.


Back to Top