diff options
author | Sopot Cela | 2017-10-02 13:38:13 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2017-11-14 19:15:56 +0000 |
commit | b32831e0a7b817c8b7fb43f6b4fb2d49122d8e81 (patch) | |
tree | 8b8e35fbaa02ed72a5ab89204274182f2304c079 /org.eclipse.help.base | |
parent | 03e4ea90b42d8471c43ed59b7e12b6bea00e2b37 (diff) | |
download | eclipse.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')
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 ) { |