diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 040717bf9072..c6ed2d0cad3a 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -155,7 +155,7 @@ // region: Lucene /** - * In case the version is updated, please also adapt {@link org.jabref.model.search.SearchFieldConstants#VERSION} to the newly used version. + * In case the version is updated, please also increment {@link org.jabref.model.search.SearchFieldConstants#VERSION} to trigger reindexing. */ uses org.apache.lucene.codecs.lucene99.Lucene99Codec; requires org.apache.lucene.analysis.common; diff --git a/src/main/java/org/jabref/gui/LibraryTab.java b/src/main/java/org/jabref/gui/LibraryTab.java index ecfaa501e70d..0542c7023fee 100644 --- a/src/main/java/org/jabref/gui/LibraryTab.java +++ b/src/main/java/org/jabref/gui/LibraryTab.java @@ -858,7 +858,9 @@ private void onClosed(Event event) { LOGGER.error("Problem when closing directory monitor", e); } try { - luceneManager.close(); + if (luceneManager != null) { + luceneManager.close(); + } } catch (RuntimeException e) { LOGGER.error("Problem when closing lucene indexer", e); } diff --git a/src/main/java/org/jabref/model/search/Analyzer/LatexAwareNGramAnalyzer.java b/src/main/java/org/jabref/model/search/Analyzer/LatexAwareNGramAnalyzer.java index f1f9ddabc3f7..aafb993390d3 100644 --- a/src/main/java/org/jabref/model/search/Analyzer/LatexAwareNGramAnalyzer.java +++ b/src/main/java/org/jabref/model/search/Analyzer/LatexAwareNGramAnalyzer.java @@ -26,7 +26,7 @@ protected TokenStreamComponents createComponents(String fieldName) { result = new StopFilter(result, EnglishAnalyzer.ENGLISH_STOP_WORDS_SET); result = new ASCIIFoldingFilter(result); result = new LowerCaseFilter(result); - result = new EdgeNGramTokenFilter(result, minGram, maxGram, true); + result = new EdgeNGramTokenFilter(result, minGram, maxGram, true); return new TokenStreamComponents(source, result); } } diff --git a/src/main/java/org/jabref/model/search/SearchFieldConstants.java b/src/main/java/org/jabref/model/search/SearchFieldConstants.java index 8becbeb18517..12aa58576da2 100644 --- a/src/main/java/org/jabref/model/search/SearchFieldConstants.java +++ b/src/main/java/org/jabref/model/search/SearchFieldConstants.java @@ -9,8 +9,14 @@ import org.apache.lucene.analysis.en.EnglishAnalyzer; public enum SearchFieldConstants { - - VERSION("99"), + /** + * Version number for the search index. + * Increment when: + * 1. Index changes require reindexing (e.g., new/removed/renamed fields, analyzer changes) + * 2. Lucene codec changes (see module-info.java Lucene section) + * Incrementing triggers reindexing. + */ + VERSION("1"), DEFAULT_FIELD("any"), ENTRY_ID("id"), ENTRY_TYPE("entrytype"),