Author: ghuber
Date: Mon Apr 8 16:10:34 2013
New Revision: 1465673
URL: http://svn.apache.org/r1465673
Log:
Upgrade lucene to 4.2.1.
Modified:
roller/trunk/pom.xml
roller/trunk/weblogger-business/pom.xml
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexUtil.java
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
Modified: roller/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/roller/trunk/pom.xml?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
--- roller/trunk/pom.xml (original)
+++ roller/trunk/pom.xml Mon Apr 8 16:10:34 2013
@@ -193,7 +193,19 @@
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
- <version>3.6.0</version>
+ <version>4.2.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-queryparser</artifactId>
+ <version>4.2.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-analyzers-common</artifactId>
+ <version>4.2.1</version>
</dependency>
<dependency>
Modified: roller/trunk/weblogger-business/pom.xml
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/pom.xml?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
--- roller/trunk/weblogger-business/pom.xml (original)
+++ roller/trunk/weblogger-business/pom.xml Mon Apr 8 16:10:34 2013
@@ -135,6 +135,16 @@
</dependency>
<dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-queryparser</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-analyzers-common</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
</dependency>
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
---
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
(original)
+++
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
Mon Apr 8 16:10:34 2013
@@ -28,7 +28,7 @@ import org.apache.lucene.util.Version;
public final class FieldConstants {
// Set what version we are on
- public static final Version LUCENE_VERSION = Version.LUCENE_36;
+ public static final Version LUCENE_VERSION = Version.LUCENE_42;
public static final String ANCHOR = "anchor";
public static final String UPDATED = "updated";
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
---
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
(original)
+++
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
Mon Apr 8 16:10:34 2013
@@ -20,22 +20,25 @@ package org.apache.roller.weblogger.busi
import java.io.File;
import java.io.IOException;
-
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.LimitTokenCountAnalyzer;
+import org.apache.lucene.analysis.miscellaneous.LimitTokenCountAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
+import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.RAMDirectory;
import org.apache.roller.weblogger.WebloggerException;
-import org.apache.roller.weblogger.business.*;
+import org.apache.roller.weblogger.business.InitializationException;
+import org.apache.roller.weblogger.business.Weblogger;
import
org.apache.roller.weblogger.business.search.operations.AddEntryOperation;
import org.apache.roller.weblogger.business.search.operations.IndexOperation;
import
org.apache.roller.weblogger.business.search.operations.ReIndexEntryOperation;
@@ -43,9 +46,9 @@ import org.apache.roller.weblogger.busin
import
org.apache.roller.weblogger.business.search.operations.RemoveEntryOperation;
import
org.apache.roller.weblogger.business.search.operations.RemoveWebsiteIndexOperation;
import
org.apache.roller.weblogger.business.search.operations.WriteToIndexOperation;
-import org.apache.roller.weblogger.pojos.WeblogEntry;
-import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.config.WebloggerConfig;
+import org.apache.roller.weblogger.pojos.Weblog;
+import org.apache.roller.weblogger.pojos.WeblogEntry;
/**
* Lucene implementation of IndexManager. This is the central entry point into
@@ -151,7 +154,8 @@ public class IndexManagerImpl implements
if (useRAMIndex) {
Directory filesystem = getFSDirectory(false);
try {
- fRAMindex = new RAMDirectory(filesystem);
+ fRAMindex = new RAMDirectory(filesystem,
+ new IOContext());
} catch (IOException e) {
mLogger.error("Error creating in-memory index", e);
}
@@ -272,7 +276,8 @@ public class IndexManagerImpl implements
public synchronized IndexReader getSharedIndexReader() {
if (reader == null) {
try {
- reader = IndexReader.open(getIndexDirectory());
+ //reader = IndexReader.open(getIndexDirectory());
+ reader = DirectoryReader.open(getIndexDirectory());
} catch (IOException e) {
}
}
@@ -296,8 +301,9 @@ public class IndexManagerImpl implements
private boolean indexExists() {
try {
- return IndexReader.indexExists(getIndexDirectory());
- } catch (IOException e) {
+ //return IndexReader.indexExists(getIndexDirectory());
+ return DirectoryReader.indexExists(getIndexDirectory());
+ } catch (Exception e) {
mLogger.error("Problem accessing index directory", e);
}
return false;
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexUtil.java
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexUtil.java?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
---
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexUtil.java
(original)
+++
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/IndexUtil.java
Mon Apr 8 16:10:34 2013
@@ -21,6 +21,8 @@ package org.apache.roller.weblogger.busi
import java.io.IOException;
import java.io.StringReader;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
@@ -33,6 +35,8 @@ import org.apache.lucene.index.Term;
*/
public class IndexUtil {
+ private static Log log = LogFactory.getLog(IndexUtil.class);
+
/**
* Create a lucene term from the first token of the input string.
*
@@ -48,18 +52,17 @@ public class IndexUtil {
if (input == null || field == null)
return null;
- Analyzer analyer = IndexManagerImpl.getAnalyzer();
-
- TokenStream tokens = analyer
- .tokenStream(field, new StringReader(input));
-
- CharTermAttribute termAtt = (CharTermAttribute) tokens
- .addAttribute(CharTermAttribute.class);
-
+ Analyzer analyser = IndexManagerImpl.getAnalyzer();
Term term = null;
try {
+ TokenStream tokens = analyser.tokenStream(field, new StringReader(
+ input));
+
+ CharTermAttribute termAtt = (CharTermAttribute) tokens
+ .addAttribute(CharTermAttribute.class);
+
tokens.reset();
if (tokens.incrementToken()) {
@@ -68,7 +71,7 @@ public class IndexUtil {
}
} catch (IOException e) {
- // ignored
+ log.error("ERROR creating term", e);
}
return term;
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
---
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
(original)
+++
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
Mon Apr 8 16:10:34 2013
@@ -24,9 +24,12 @@ import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.lucene.analysis.LimitTokenCountAnalyzer;
+import org.apache.lucene.analysis.miscellaneous.LimitTokenCountAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.roller.weblogger.business.search.FieldConstants;
@@ -105,69 +108,108 @@ public abstract class IndexOperation imp
Document doc = new Document();
+ // TODO Originals 3.x kept for reference.
+
// keyword
- doc.add(new Field(FieldConstants.ID, data.getId(), Field.Store.YES,
- Field.Index.NOT_ANALYZED));
+ // doc.add(new Field(FieldConstants.ID, data.getId(), Field.Store.YES,
+ // Field.Index.NOT_ANALYZED));
+ doc.add(new StringField(FieldConstants.ID, data.getId(),
+ Field.Store.YES));
// keyword
- doc.add(new Field(FieldConstants.WEBSITE_HANDLE, data.getWebsite()
- .getHandle(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ // doc.add(new Field(FieldConstants.WEBSITE_HANDLE, data.getWebsite()
+ // .getHandle(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(new StringField(FieldConstants.WEBSITE_HANDLE, data
+ .getWebsite().getHandle(), Field.Store.YES));
// unindexed
- doc.add(new Field(FieldConstants.ANCHOR, data.getAnchor(),
- Field.Store.YES, Field.Index.NO));
+ // doc.add(new Field(FieldConstants.ANCHOR, data.getAnchor(),
+ // Field.Store.YES, Field.Index.NO));
+ doc.add(new StoredField(FieldConstants.ANCHOR, data.getAnchor()));
// text
- doc.add(new Field(FieldConstants.USERNAME, data.getCreator()
- .getUserName(), Field.Store.YES, Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.USERNAME, data.getCreator()
+ // .getUserName(), Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(new TextField(FieldConstants.USERNAME, data.getCreator()
+ .getUserName(), Field.Store.YES));
// text
- doc.add(new Field(FieldConstants.TITLE, data.getTitle(),
- Field.Store.YES, Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.TITLE, data.getTitle(),
+ // Field.Store.YES, Field.Index.ANALYZED));
+ doc.add(new TextField(FieldConstants.TITLE, data.getTitle(),
+ Field.Store.YES));
// index the entry text, but don't store it - moved to end of block
// unstored
- doc.add(new Field(FieldConstants.CONTENT, data.getText(),
- Field.Store.NO, Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.CONTENT, data.getText(),
+ // Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(new TextField(FieldConstants.CONTENT, data.getText(),
+ Field.Store.NO));
// store an abbreviated version of the entry text, but don't index
// unindexed
- doc.add(new Field(FieldConstants.CONTENT_STORED, Utilities
+ // doc.add(new Field(FieldConstants.CONTENT_STORED, Utilities
+ // .truncateNicely(Utilities.removeHTML(data.getText()), 240, 260,
+ // "..."), Field.Store.YES, Field.Index.NO));
+ doc.add(new StoredField(FieldConstants.CONTENT_STORED, Utilities
.truncateNicely(Utilities.removeHTML(data.getText()), 240, 260,
- "..."), Field.Store.YES, Field.Index.NO));
+ "...")));
// keyword
- doc.add(new Field(FieldConstants.UPDATED, data.getUpdateTime()
- .toString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ // doc.add(new Field(FieldConstants.UPDATED, data.getUpdateTime()
+ // .toString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(new StringField(FieldConstants.UPDATED, data.getUpdateTime()
+ .toString(), Field.Store.YES));
// keyword
- doc.add(new Field(FieldConstants.PUBLISHED, data.getPubTime()
- .toString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ // doc.add(new Field(FieldConstants.PUBLISHED, data.getPubTime()
+ // .toString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(new StringField(FieldConstants.PUBLISHED, data.getPubTime()
+ .toString(), Field.Store.YES));
// index Comments
// unstored
- doc.add(new Field(FieldConstants.C_CONTENT, commentContent,
- Field.Store.NO, Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.C_CONTENT, commentContent,
+ // Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(new StringField(FieldConstants.C_CONTENT, commentContent,
+ Field.Store.NO));
+
// unstored
- doc.add(new Field(FieldConstants.C_EMAIL, commentEmail, Field.Store.NO,
- Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.C_EMAIL, commentEmail,
+ // Field.Store.NO,
+ // Field.Index.ANALYZED));
+ doc.add(new StringField(FieldConstants.C_EMAIL, commentEmail,
+ Field.Store.NO));
+
// unstored
- doc.add(new Field(FieldConstants.C_NAME, commentName, Field.Store.NO,
- Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.C_NAME, commentName,
Field.Store.NO,
+ // Field.Index.ANALYZED));
+ doc.add(new StringField(FieldConstants.C_NAME, commentName,
+ Field.Store.NO));
// unstored
- doc.add(new Field(FieldConstants.CONSTANT, FieldConstants.CONSTANT_V,
- Field.Store.NO, Field.Index.ANALYZED));
+ // doc.add(new Field(FieldConstants.CONSTANT,
FieldConstants.CONSTANT_V,
+ // Field.Store.NO, Field.Index.ANALYZED));
+ doc.add(new StringField(FieldConstants.CONSTANT,
+ FieldConstants.CONSTANT_V, Field.Store.NO));
// index Category
WeblogCategory categorydata = data.getCategory();
- Field category = (categorydata == null)
+ // Field category = (categorydata == null)
// unstored
- ? new Field(FieldConstants.CATEGORY, "", Field.Store.NO,
- Field.Index.ANALYZED)
+ // ? new Field(FieldConstants.CATEGORY, "", Field.Store.NO,
+ // Field.Index.ANALYZED)
// text
- : new Field(FieldConstants.CATEGORY, categorydata.getName(),
- Field.Store.YES, Field.Index.ANALYZED);
+ // : new Field(FieldConstants.CATEGORY, categorydata.getName(),
+ // Field.Store.YES, Field.Index.ANALYZED);
+
+ Field category = (categorydata == null)
+ // unstored
+ ? new StringField(FieldConstants.CATEGORY, "", Field.Store.NO)
+ // text
+ : new TextField(FieldConstants.CATEGORY,
+ categorydata.getName(), Field.Store.YES);
+
doc.add(category);
return doc;
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
---
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java
(original)
+++
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/RebuildWebsiteIndexOperation.java
Mon Apr 8 16:10:34 2013
@@ -82,7 +82,7 @@ public class RebuildWebsiteIndexOperatio
// the weblog object passed in as a detached object which is proned to
// lazy initialization problems, so requery for the object now
if (this.website != null) {
- mLogger.debug("Reindexining weblog " + website.getHandle());
+ mLogger.debug("Reindexing weblog " + website.getHandle());
try {
this.website = roller.getWeblogManager().getWeblog(
this.website.getId());
Modified:
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
URL:
http://svn.apache.org/viewvc/roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java?rev=1465673&r1=1465672&r2=1465673&view=diff
==============================================================================
---
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
(original)
+++
roller/trunk/weblogger-business/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
Mon Apr 8 16:10:34 2013
@@ -24,8 +24,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
-import org.apache.lucene.queryParser.MultiFieldQueryParser;
-import org.apache.lucene.queryParser.ParseException;
+import org.apache.lucene.queryparser.classic.MultiFieldQueryParser;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.IndexSearcher;
@@ -62,7 +61,7 @@ public class SearchOperation extends Rea
// BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
private static Sort SORTER = new Sort(new SortField(
- FieldConstants.PUBLISHED, SortField.STRING, true));
+ FieldConstants.PUBLISHED, SortField.Type.STRING, true));
// ~ Instance fields
// ========================================================
@@ -151,7 +150,7 @@ public class SearchOperation extends Rea
mLogger.error("Error searching index", e);
parseError = e.getMessage();
- } catch (ParseException e) {
+ } catch (Exception e) {
// who cares?
parseError = e.getMessage();
}