Author: natalia Date: Mon Oct 5 02:09:28 2009 New Revision: 821662 URL: http://svn.apache.org/viewvc?rev=821662&view=rev Log: Update Lucene to version 2.9.0
Added: xml/xindice/trunk/lib/lucene-core-2.9.0.jar (with props) Removed: xml/xindice/trunk/lib/lucene-core-2.4.0.jar Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/indexer/LuceneIndexer.java xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeReader.java xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeTermDocs.java Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/indexer/LuceneIndexer.java URL: http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/indexer/LuceneIndexer.java?rev=821662&r1=821661&r2=821662&view=diff ============================================================================== --- xml/xindice/trunk/java/src/org/apache/xindice/core/indexer/LuceneIndexer.java (original) +++ xml/xindice/trunk/java/src/org/apache/xindice/core/indexer/LuceneIndexer.java Mon Oct 5 02:09:28 2009 @@ -29,10 +29,8 @@ import org.apache.lucene.index.Term; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; -import org.apache.lucene.search.Hits; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.TopDocs; +import org.apache.lucene.search.*; +import org.apache.lucene.store.SimpleFSDirectory; import org.apache.xindice.core.Collection; import org.apache.xindice.core.DBException; import org.apache.xindice.core.DBObject; @@ -93,9 +91,9 @@ // Default analyzer to use public static final String DEFANALYZER = "org.apache.lucene.analysis.SimpleAnalyzer"; - private File idxFile; - private IndexWriter iw; - private Analyzer an; + private SimpleFSDirectory idxFile; + private IndexWriter iw; + private Analyzer an; /** * Most recently opened searcher. The same Searcher instance is going to @@ -121,11 +119,11 @@ private String defaultField = ""; - private void setFile(File f) { + private void setFile(SimpleFSDirectory f) { idxFile = f; } - private File getFile() { + private SimpleFSDirectory getFile() { if (null == idxFile) { throw new IllegalStateException("Not bound to a file"); } @@ -235,7 +233,7 @@ } } - setFile(new File(collection.getCollectionRoot(), name)); + setFile(new SimpleFSDirectory(new File(collection.getCollectionRoot(), name), null)); } catch (Exception e) { throw new XindiceException(e); } @@ -245,8 +243,12 @@ return config; } - public boolean exists() { - return IndexReader.indexExists(idxFile); + public boolean exists() throws DBException { + try { + return IndexReader.indexExists(idxFile); + } catch (IOException e) { + throw new IndexerException(FaultCodes.GEN_GENERAL_ERROR, "Error accessing index", e); + } } /** @@ -298,7 +300,7 @@ try { if (IndexReader.indexExists(idxFile)) { close(); - return deepDelete(getFile()); + return deepDelete(getFile().getFile()); } else { return false; } @@ -530,7 +532,7 @@ public Searcher() throws DBException { try { - ir = IndexReader.open(getFile()); + ir = IndexReader.open(getFile(), true); is = new IndexSearcher(ir); } catch (IOException e) { throw new DBException(FaultCodes.IDX_CORRUPTED, @@ -592,13 +594,13 @@ /** * Internal search method. * @param query Search query - * @return Hits for the search + * @return TopDocs for the search * @throws DBException Index could not be accessed * @deprecated Deprecated following Lucene changes */ - public Hits search(Query query) throws DBException { + public TopDocs search(Query query) throws DBException { try { - return is.search(query); + return is.search(query, ir.numDocs()); } catch (IOException e) { throw new DBException(FaultCodes.IDX_CORRUPTED, "Failed to access index " + name + ", collection " + collection.getCanonicalName(), e); Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeReader.java URL: http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeReader.java?rev=821662&r1=821661&r2=821662&view=diff ============================================================================== --- xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeReader.java (original) +++ xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeReader.java Mon Oct 5 02:09:28 2009 @@ -30,7 +30,7 @@ import org.apache.lucene.document.FieldSelector; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; -import org.apache.lucene.analysis.Token; +import org.apache.lucene.analysis.tokenattributes.TermAttribute; import org.apache.lucene.search.DefaultSimilarity; import org.apache.xindice.xml.dom.NodeImpl; import org.w3c.dom.NodeList; @@ -79,12 +79,14 @@ } TokenStream stream = analyzer.tokenStream("", new StringReader(text)); + TermAttribute termAttr = (TermAttribute) stream.addAttribute(TermAttribute.class); try { - Token reusableToken = new Token(); - Token token; - while ((token = stream.next(reusableToken)) != null) { - nodes[i].add(token.term()); + stream.reset(); + while (stream.incrementToken()) { + nodes[i].add(termAttr.term()); } + stream.end(); + stream.close(); } catch (IOException e) { // won't happen } @@ -259,7 +261,7 @@ /** * Get text content of a DOM node. This is the same as DOM Level 3 method * getTextContent(). - * @param node + * @param node DOM node * @return The text content of this node and its descendants. */ private String getTextContent(Node node) { Modified: xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeTermDocs.java URL: http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeTermDocs.java?rev=821662&r1=821661&r2=821662&view=diff ============================================================================== --- xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeTermDocs.java (original) +++ xml/xindice/trunk/java/src/org/apache/xindice/core/query/ftsearch/NodeTermDocs.java Mon Oct 5 02:09:28 2009 @@ -55,6 +55,8 @@ freqs[idx]++; } } + + num = 0; } public void seek(TermEnum termEnum) { Added: xml/xindice/trunk/lib/lucene-core-2.9.0.jar URL: http://svn.apache.org/viewvc/xml/xindice/trunk/lib/lucene-core-2.9.0.jar?rev=821662&view=auto ============================================================================== Binary file - no diff available. Propchange: xml/xindice/trunk/lib/lucene-core-2.9.0.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream