Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSopot Cela2017-10-02 13:38:13 +0000
committerAlexander Kurtakov2017-11-14 19:15:56 +0000
commitb32831e0a7b817c8b7fb43f6b4fb2d49122d8e81 (patch)
tree8b8e35fbaa02ed72a5ab89204274182f2304c079 /org.eclipse.help.base
parent03e4ea90b42d8471c43ed59b7e12b6bea00e2b37 (diff)
downloadeclipse.platform.ua-b32831e0a7b817c8b7fb43f6b4fb2d49122d8e81.tar.gz
eclipse.platform.ua-b32831e0a7b817c8b7fb43f6b4fb2d49122d8e81.tar.xz
eclipse.platform.ua-b32831e0a7b817c8b7fb43f6b4fb2d49122d8e81.zip
Bug 525267 - Update platform.ua to Lucene 7I20171114-2000
This migrates platform code to be compatible with Lucene 7. Added tests to support compatibility scenarios. All search tests succeed. Change-Id: Ied949b34b25fac9ef8a6f381c1c095f80bee05e4 Signed-off-by: Sopot Cela <scela@redhat.com>
Diffstat (limited to 'org.eclipse.help.base')
-rw-r--r--org.eclipse.help.base/META-INF/MANIFEST.MF7
-rw-r--r--org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java2
-rw-r--r--org.eclipse.help.base/src/org/eclipse/help/internal/search/PluginIndex.java2
-rw-r--r--org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java20
4 files changed, 16 insertions, 15 deletions
diff --git a/org.eclipse.help.base/META-INF/MANIFEST.MF b/org.eclipse.help.base/META-INF/MANIFEST.MF
index d79de7560..9b1806173 100644
--- a/org.eclipse.help.base/META-INF/MANIFEST.MF
+++ b/org.eclipse.help.base/META-INF/MANIFEST.MF
@@ -44,10 +44,9 @@ Require-Bundle: org.eclipse.ant.core;bundle-version="[3.2.200,4.0.0)";resolution
org.eclipse.help;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
org.eclipse.core.expressions;bundle-version="[3.4.200,4.0.0)",
org.eclipse.core.net;bundle-version="[1.2.200,2.0.0]",
- org.apache.lucene.analyzers-common;bundle-version="[6.1.0,7.0.0)",
- org.apache.lucene.core;bundle-version="[6.1.0,7.0.0)",
- org.apache.lucene.misc;bundle-version="[6.1.0,7.0.0)",
- org.apache.lucene.analyzers-smartcn;bundle-version="[6.1.0,7.0.0)"
+ org.apache.lucene.analyzers-common;bundle-version="[7.0.0,8.0.0)",
+ org.apache.lucene.core;bundle-version="[7.0.0,8.0.0)",
+ org.apache.lucene.analyzers-smartcn;bundle-version="[7.0.0,8.0.0)"
Import-Package: com.ibm.icu.text,
org.eclipse.equinox.http.jetty;resolution:=optional
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java b/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java
index b6ccf6f16..b94e0c584 100644
--- a/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java
+++ b/org.eclipse.help.base/src/org/eclipse/help/internal/search/Analyzer_en.java
@@ -16,11 +16,11 @@ import java.util.HashSet;
import java.util.Set;
import org.apache.lucene.analysis.Analyzer;
+import org.apache.lucene.analysis.CharArraySet;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.core.StopFilter;
import org.apache.lucene.analysis.en.PorterStemFilter;
-import org.apache.lucene.analysis.util.CharArraySet;
/**
* Lucene Analyzer for English.
diff --git a/org.eclipse.help.base/src/org/eclipse/help/internal/search/PluginIndex.java b/org.eclipse.help.base/src/org/eclipse/help/internal/search/PluginIndex.java
index 3bc705188..6aac98619 100644
--- a/org.eclipse.help.base/src/org/eclipse/help/internal/search/PluginIndex.java
+++ b/org.eclipse.help.base/src/org/eclipse/help/internal/search/PluginIndex.java
@@ -152,7 +152,7 @@ public class PluginIndex {
.getProperty(SearchIndex.DEPENDENCIES_KEY_ANALYZER);
if (!targetIndex.isLuceneCompatible(lucene) || !targetIndex.isAnalyzerCompatible(analyzer)) {
String message = "Unable to consume Lucene index from bundle '" + bundle.toString() //$NON-NLS-1$
- + "'. The index should be rebuilt with Lucene 6.1."; //$NON-NLS-1$
+ + "'. The index should be rebuilt with Lucene 7.0.0"; //$NON-NLS-1$
Status warningStatus = new Status(IStatus.WARNING, HelpBasePlugin.PLUGIN_ID, IStatus.OK, message, null);
HelpBasePlugin.logStatus(warningStatus);
return false;
diff --git a/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java b/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java
index 74d17d06c..6085bb53d 100644
--- a/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java
+++ b/org.eclipse.help.base/src/org/eclipse/help/internal/search/SearchIndex.java
@@ -46,11 +46,10 @@ import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.LogByteSizeMergePolicy;
import org.apache.lucene.index.LogMergePolicy;
import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.SlowCompositeReaderWrapper;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.IndexSearcher;
@@ -562,15 +561,18 @@ public class SearchIndex implements IHelpSearchIndex {
public IStatus removeDuplicates(String name, String[] index_paths) {
- try (LeafReader ar = SlowCompositeReaderWrapper.wrap(ir)) {
+ try (DirectoryReader ar = DirectoryReader.open(luceneDirectory)) {
PostingsEnum hrefDocs = null;
PostingsEnum indexDocs = null;
Term hrefTerm = new Term(FIELD_NAME, name);
for (int i = 0; i < index_paths.length; i++) {
Term indexTerm = new Term(FIELD_INDEX_ID, index_paths[i]);
- hrefDocs = ar.postings(hrefTerm);
- indexDocs = ar.postings(indexTerm);
- removeDocuments(hrefDocs, indexDocs);
+ List<LeafReaderContext> leaves = ar.leaves();
+ for (LeafReaderContext c : leaves) {
+ indexDocs = c.reader().postings(indexTerm);
+ hrefDocs = c.reader().postings(hrefTerm);
+ removeDocuments(hrefDocs, indexDocs);
+ }
}
} catch (IOException ioe) {
return new Status(IStatus.ERROR, HelpBasePlugin.PLUGIN_ID, IStatus.ERROR,
@@ -750,9 +752,9 @@ public class SearchIndex implements IHelpSearchIndex {
}
Version luceneVersion = new Version(luceneVersionString);
Version indexVersion = new Version(indexVersionString);
- Version v610 = new Version(6, 1, 0);
- if (indexVersion.compareTo(v610) < 0) {
- // index is older than Lucene 6.1.0
+ Version v700 = new Version(7, 0, 0);
+ if (indexVersion.compareTo(v700) < 0) {
+ // index is older than Lucene 7.0.0
return false;
}
if ( luceneVersion.compareTo(indexVersion) >= 0 ) {

Back to the top