You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2005/11/02 16:17:56 UTC

svn commit: r330270 - in /incubator/jackrabbit/trunk/src: conf/ java/org/apache/jackrabbit/core/query/lucene/

Author: mreutegg
Date: Wed Nov  2 07:17:47 2005
New Revision: 330270

URL: http://svn.apache.org/viewcvs?rev=330270&view=rev
Log:
JCR-220: Make it possible to configure Lucene Analyzer for SearchIndex
missing getAnalyzer() method

Modified:
    incubator/jackrabbit/trunk/src/conf/repository.xml
    incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
    incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/QueryImpl.java
    incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java

Modified: incubator/jackrabbit/trunk/src/conf/repository.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/conf/repository.xml?rev=330270&r1=330269&r2=330270&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/conf/repository.xml (original)
+++ incubator/jackrabbit/trunk/src/conf/repository.xml Wed Nov  2 07:17:47 2005
@@ -200,6 +200,7 @@
               detects a prior forced shutdown.
             - autoRepair: errors detected by a consistency check are automatically
               repaired. If false, errors are only written to the log.
+            - analyzer: class name of a lucene analyzer to use for fulltext indexing of text.
 
             Note: all parameters (except path) in this SearchIndex config are default
             values and can be omitted.
@@ -215,6 +216,7 @@
             <param name="cacheSize" value="1000"/>
             <param name="forceConsistencyCheck" value="false"/>
             <param name="autoRepair" value="true"/>
+            <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
         </SearchIndex>
     </Workspace>
 

Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java?rev=330270&r1=330269&r2=330270&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java Wed Nov  2 07:17:47 2005
@@ -234,7 +234,7 @@
                     continue;
                 }
                 PersistentIndex index = new PersistentIndex(indexNames.getName(i),
-                        sub, false, handler.getAnalyzer(), cache);
+                        sub, false, handler.getTextAnalyzer(), cache);
                 index.setMaxMergeDocs(handler.getMaxMergeDocs());
                 index.setMergeFactor(handler.getMergeFactor());
                 index.setMinMergeDocs(handler.getMinMergeDocs());
@@ -460,7 +460,7 @@
             sub = new File(indexDir, indexName);
         }
         PersistentIndex index = new PersistentIndex(indexName, sub, create,
-                handler.getAnalyzer(), cache);
+                handler.getTextAnalyzer(), cache);
         index.setMaxMergeDocs(handler.getMaxMergeDocs());
         index.setMergeFactor(handler.getMergeFactor());
         index.setMinMergeDocs(handler.getMinMergeDocs());
@@ -700,7 +700,7 @@
      * Resets the volatile index to a new instance.
      */
     private void resetVolatileIndex() throws IOException {
-        volatileIndex = new VolatileIndex(handler.getAnalyzer());
+        volatileIndex = new VolatileIndex(handler.getTextAnalyzer());
         volatileIndex.setUseCompoundFile(handler.getUseCompoundFile());
         volatileIndex.setBufferSize(handler.getBufferSize());
     }

Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/QueryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/QueryImpl.java?rev=330270&r1=330269&r2=330270&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/QueryImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/QueryImpl.java Wed Nov  2 07:17:47 2005
@@ -146,7 +146,7 @@
         // build lucene query
         Query query = LuceneQueryBuilder.createQuery(root, session,
                 index.getContext().getItemStateManager(), index.getNamespaceMappings(),
-                index.getAnalyzer(), propReg);
+                index.getTextAnalyzer(), propReg);
 
         OrderQueryNode orderNode = root.getOrderNode();
 

Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java?rev=330270&r1=330269&r2=330270&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java Wed Nov  2 07:17:47 2005
@@ -328,17 +328,43 @@
      * Returns the analyzer in use for indexing.
      * @return the analyzer in use for indexing.
      */
-    Analyzer getAnalyzer() {
+    Analyzer getTextAnalyzer() {
         return analyzer;
     }
 
     /**
+     * Returns the namespace mappings for the internal representation.
+     * @return the namespace mappings for the internal representation.
+     */
+    NamespaceMappings getNamespaceMappings() {
+        return index.getNamespaceMappings();
+    }
+
+    /**
+     * Creates a lucene <code>Document</code> from a node state using the
+     * namespace mappings <code>nsMappings</code>.
+     * @param node the node state to index.
+     * @param nsMappings the namespace mappings of the search index.
+     * @return a lucene <code>Document</code> that contains all properties
+     *  of <code>node</code>.
+     * @throws RepositoryException if an error occurs while indexing the
+     *  <code>node</code>.
+     */
+    protected Document createDocument(NodeState node, NamespaceMappings nsMappings)
+            throws RepositoryException {
+        return NodeIndexer.createDocument(node, getContext().getItemStateManager(),
+                nsMappings);
+    }
+
+    //--------------------------< properties >----------------------------------
+
+    /**
      * Sets the analyzer in use for indexing. The given analyzer class name
      * must satisfy the following conditions:
      * <ul>
      *   <li>the class must exist in the class path</li>
      *   <li>the class must have a public default constructor</li>
-     *   <li>the class must be a Lucene Analyzer</li> 
+     *   <li>the class must be a Lucene Analyzer</li>
      * </ul>
      * <p>
      * If the above conditions are met, then a new instance of the class is
@@ -347,7 +373,7 @@
      * <p>
      * This property setter method is normally invoked by the Jackrabbit
      * configuration mechanism if the "analyzer" parameter is set in the
-     * search configuration. 
+     * search configuration.
      *
      * @param analyzerClassName the analyzer class name
      */
@@ -361,30 +387,13 @@
     }
 
     /**
-     * Returns the namespace mappings for the internal representation.
-     * @return the namespace mappings for the internal representation.
-     */
-    NamespaceMappings getNamespaceMappings() {
-        return index.getNamespaceMappings();
-    }
-
-    /**
-     * Creates a lucene <code>Document</code> from a node state using the
-     * namespace mappings <code>nsMappings</code>.
-     * @param node the node state to index.
-     * @param nsMappings the namespace mappings of the search index.
-     * @return a lucene <code>Document</code> that contains all properties
-     *  of <code>node</code>.
-     * @throws RepositoryException if an error occurs while indexing the
-     *  <code>node</code>.
+     * Returns the class name of the analyzer that is currently in use.
+     *
+     * @return class name of analyzer in use.
      */
-    protected Document createDocument(NodeState node, NamespaceMappings nsMappings)
-            throws RepositoryException {
-        return NodeIndexer.createDocument(node, getContext().getItemStateManager(),
-                nsMappings);
+    public String getAnalyzer() {
+        return analyzer.getClass().getName();
     }
-
-    //--------------------------< properties >----------------------------------
 
     /**
      * Sets the location of the search index.