.classpath | ●●●●● patch | view | raw | blame | history | |
build.moxie | ●●●●● patch | view | raw | blame | history | |
gitblit.iml | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/service/LuceneService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/tickets/TicketIndexer.java | ●●●●● patch | view | raw | blame | history |
.classpath
@@ -20,15 +20,13 @@ <classpathentry kind="lib" path="ext/wicket-1.4.21.jar" sourcepath="ext/src/wicket-1.4.21.jar" /> <classpathentry kind="lib" path="ext/wicket-auth-roles-1.4.21.jar" sourcepath="ext/src/wicket-auth-roles-1.4.21.jar" /> <classpathentry kind="lib" path="ext/wicket-extensions-1.4.21.jar" sourcepath="ext/src/wicket-extensions-1.4.21.jar" /> <classpathentry kind="lib" path="ext/lucene-core-5.2.1.jar" sourcepath="ext/src/lucene-core-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-analyzers-common-5.2.1.jar" sourcepath="ext/src/lucene-analyzers-common-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-highlighter-5.2.1.jar" sourcepath="ext/src/lucene-highlighter-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-join-5.2.1.jar" sourcepath="ext/src/lucene-join-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-grouping-5.2.1.jar" sourcepath="ext/src/lucene-grouping-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-queries-5.2.1.jar" sourcepath="ext/src/lucene-queries-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-memory-5.2.1.jar" sourcepath="ext/src/lucene-memory-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-queryparser-5.2.1.jar" sourcepath="ext/src/lucene-queryparser-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-sandbox-5.2.1.jar" sourcepath="ext/src/lucene-sandbox-5.2.1.jar" /> <classpathentry kind="lib" path="ext/lucene-core-4.10.0.jar" sourcepath="ext/src/lucene-core-4.10.0.jar" /> <classpathentry kind="lib" path="ext/lucene-analyzers-common-4.10.0.jar" sourcepath="ext/src/lucene-analyzers-common-4.10.0.jar" /> <classpathentry kind="lib" path="ext/lucene-highlighter-4.10.0.jar" sourcepath="ext/src/lucene-highlighter-4.10.0.jar" /> <classpathentry kind="lib" path="ext/lucene-memory-4.10.0.jar" sourcepath="ext/src/lucene-memory-4.10.0.jar" /> <classpathentry kind="lib" path="ext/lucene-queries-4.10.0.jar" sourcepath="ext/src/lucene-queries-4.10.0.jar" /> <classpathentry kind="lib" path="ext/lucene-queryparser-4.10.0.jar" sourcepath="ext/src/lucene-queryparser-4.10.0.jar" /> <classpathentry kind="lib" path="ext/lucene-sandbox-4.10.0.jar" sourcepath="ext/src/lucene-sandbox-4.10.0.jar" /> <classpathentry kind="lib" path="ext/jakarta-regexp-1.4.jar" /> <classpathentry kind="lib" path="ext/pegdown-1.4.2.jar" sourcepath="ext/src/pegdown-1.4.2.jar" /> <classpathentry kind="lib" path="ext/parboiled-java-1.1.6.jar" sourcepath="ext/src/parboiled-java-1.1.6.jar" /> build.moxie
@@ -105,7 +105,7 @@ jetty.version : 9.2.10.v20150310 slf4j.version : 1.7.10 wicket.version : 1.4.21 lucene.version : 5.2.1 lucene.version : 4.10.0 jgit.version : 4.0.1.201506240215-r groovy.version : 2.4.1 bouncycastle.version : 1.51 gitblit.iml
@@ -179,101 +179,79 @@ </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-core-5.2.1.jar"> <library name="lucene-core-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-core-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-core-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-core-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-core-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-analyzers-common-5.2.1.jar"> <library name="lucene-analyzers-common-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-analyzers-common-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-analyzers-common-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-analyzers-common-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-analyzers-common-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-highlighter-5.2.1.jar"> <library name="lucene-highlighter-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-highlighter-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-highlighter-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-highlighter-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-highlighter-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-join-5.2.1.jar"> <library name="lucene-memory-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-join-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-memory-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-join-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-memory-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-grouping-5.2.1.jar"> <library name="lucene-queries-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-grouping-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-queries-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-grouping-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-queries-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-queries-5.2.1.jar"> <library name="lucene-queryparser-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-queries-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-queryparser-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-queries-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-queryparser-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-memory-5.2.1.jar"> <library name="lucene-sandbox-4.10.0.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-memory-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/lucene-sandbox-4.10.0.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-memory-5.2.1.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-queryparser-5.2.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-queryparser-5.2.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-queryparser-5.2.1.jar!/" /> </SOURCES> </library> </orderEntry> <orderEntry type="module-library"> <library name="lucene-sandbox-5.2.1.jar"> <CLASSES> <root url="jar://$MODULE_DIR$/ext/lucene-sandbox-5.2.1.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES> <root url="jar://$MODULE_DIR$/ext/src/lucene-sandbox-5.2.1.jar!/" /> <root url="jar://$MODULE_DIR$/ext/src/lucene-sandbox-4.10.0.jar!/" /> </SOURCES> </library> </orderEntry> src/main/java/com/gitblit/service/LuceneService.java
@@ -267,7 +267,7 @@ // close all writers for (String writer : writers.keySet()) { try { writers.get(writer).close(); writers.get(writer).close(true); } catch (Throwable t) { logger.error("Failed to close Lucene writer for " + writer, t); } @@ -722,8 +722,8 @@ String q = MessageFormat.format(pattern, SearchObjectType.blob.name(), branch, path); BooleanQuery query = new BooleanQuery(); StandardAnalyzer analyzer = new StandardAnalyzer(); QueryParser qp = new QueryParser(FIELD_SUMMARY, analyzer); StandardAnalyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); QueryParser qp = new QueryParser(LUCENE_VERSION, FIELD_SUMMARY, analyzer); query.add(qp.parse(q), Occur.MUST); IndexWriter writer = getIndexWriter(repositoryName); @@ -968,14 +968,14 @@ IndexWriter indexWriter = writers.get(repository); File repositoryFolder = FileKey.resolve(new File(repositoriesFolder, repository), FS.DETECTED); File indexFolder = new File(repositoryFolder, LUCENE_DIR); Directory directory = FSDirectory.open(indexFolder.toPath()); Directory directory = FSDirectory.open(indexFolder); if (indexWriter == null) { if (!indexFolder.exists()) { indexFolder.mkdirs(); } StandardAnalyzer analyzer = new StandardAnalyzer(); IndexWriterConfig config = new IndexWriterConfig(analyzer); StandardAnalyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); IndexWriterConfig config = new IndexWriterConfig(LUCENE_VERSION, analyzer); config.setOpenMode(OpenMode.CREATE_OR_APPEND); indexWriter = new IndexWriter(directory, config); writers.put(repository, indexWriter); @@ -1028,16 +1028,16 @@ return null; } Set<SearchResult> results = new LinkedHashSet<SearchResult>(); StandardAnalyzer analyzer = new StandardAnalyzer(); StandardAnalyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); try { // default search checks summary and content BooleanQuery query = new BooleanQuery(); QueryParser qp; qp = new QueryParser(FIELD_SUMMARY, analyzer); qp = new QueryParser(LUCENE_VERSION, FIELD_SUMMARY, analyzer); qp.setAllowLeadingWildcard(true); query.add(qp.parse(text), Occur.SHOULD); qp = new QueryParser(FIELD_CONTENT, analyzer); qp = new QueryParser(LUCENE_VERSION, FIELD_CONTENT, analyzer); qp.setAllowLeadingWildcard(true); query.add(qp.parse(text), Occur.SHOULD); @@ -1060,7 +1060,7 @@ Query rewrittenQuery = searcher.rewrite(query); logger.debug(rewrittenQuery.toString()); TopScoreDocCollector collector = TopScoreDocCollector.create(5000); TopScoreDocCollector collector = TopScoreDocCollector.create(5000, true); searcher.search(rewrittenQuery, collector); int offset = Math.max(0, (page - 1) * pageSize); ScoreDoc[] hits = collector.topDocs(offset, pageSize).scoreDocs; @@ -1225,7 +1225,7 @@ */ private class MultiSourceReader extends MultiReader { MultiSourceReader(IndexReader [] readers) throws IOException { MultiSourceReader(IndexReader [] readers) { super(readers, false); } src/main/java/com/gitblit/tickets/TicketIndexer.java
@@ -167,7 +167,7 @@ private final Logger log = LoggerFactory.getLogger(getClass()); private final Version luceneVersion = Version.LUCENE_5_2_1; private final Version luceneVersion = Version.LUCENE_46; private final File luceneDir; @@ -201,8 +201,8 @@ public boolean deleteAll(RepositoryModel repository) { try { IndexWriter writer = getWriter(); StandardAnalyzer analyzer = new StandardAnalyzer(); QueryParser qp = new QueryParser(Lucene.rid.name(), analyzer); StandardAnalyzer analyzer = new StandardAnalyzer(luceneVersion); QueryParser qp = new QueryParser(luceneVersion, Lucene.rid.name(), analyzer); BooleanQuery query = new BooleanQuery(); query.add(qp.parse(repository.getRID()), Occur.MUST); @@ -287,8 +287,8 @@ * @return true, if deleted, false if no record was deleted */ private boolean delete(String repository, long ticketId, IndexWriter writer) throws Exception { StandardAnalyzer analyzer = new StandardAnalyzer(); QueryParser qp = new QueryParser(Lucene.did.name(), analyzer); StandardAnalyzer analyzer = new StandardAnalyzer(luceneVersion); QueryParser qp = new QueryParser(luceneVersion, Lucene.did.name(), analyzer); BooleanQuery query = new BooleanQuery(); query.add(qp.parse(StringUtils.getSHA1(repository + ticketId)), Occur.MUST); @@ -331,21 +331,21 @@ return Collections.emptyList(); } Set<QueryResult> results = new LinkedHashSet<QueryResult>(); StandardAnalyzer analyzer = new StandardAnalyzer(); StandardAnalyzer analyzer = new StandardAnalyzer(luceneVersion); try { // search the title, description and content BooleanQuery query = new BooleanQuery(); QueryParser qp; qp = new QueryParser(Lucene.title.name(), analyzer); qp = new QueryParser(luceneVersion, Lucene.title.name(), analyzer); qp.setAllowLeadingWildcard(true); query.add(qp.parse(text), Occur.SHOULD); qp = new QueryParser(Lucene.body.name(), analyzer); qp = new QueryParser(luceneVersion, Lucene.body.name(), analyzer); qp.setAllowLeadingWildcard(true); query.add(qp.parse(text), Occur.SHOULD); qp = new QueryParser(Lucene.content.name(), analyzer); qp = new QueryParser(luceneVersion, Lucene.content.name(), analyzer); qp.setAllowLeadingWildcard(true); query.add(qp.parse(text), Occur.SHOULD); @@ -354,7 +354,7 @@ log.debug(rewrittenQuery.toString()); TopScoreDocCollector collector = TopScoreDocCollector.create(5000); TopScoreDocCollector collector = TopScoreDocCollector.create(5000, true); searcher.search(rewrittenQuery, collector); int offset = Math.max(0, (page - 1) * pageSize); ScoreDoc[] hits = collector.topDocs(offset, pageSize).scoreDocs; @@ -392,9 +392,9 @@ } Set<QueryResult> results = new LinkedHashSet<QueryResult>(); StandardAnalyzer analyzer = new StandardAnalyzer(); StandardAnalyzer analyzer = new StandardAnalyzer(luceneVersion); try { QueryParser qp = new QueryParser(Lucene.content.name(), analyzer); QueryParser qp = new QueryParser(luceneVersion, Lucene.content.name(), analyzer); Query query = qp.parse(queryText); IndexSearcher searcher = getSearcher(); @@ -443,14 +443,14 @@ private IndexWriter getWriter() throws IOException { if (writer == null) { Directory directory = FSDirectory.open(luceneDir.toPath()); Directory directory = FSDirectory.open(luceneDir); if (!luceneDir.exists()) { luceneDir.mkdirs(); } StandardAnalyzer analyzer = new StandardAnalyzer(); IndexWriterConfig config = new IndexWriterConfig(analyzer); StandardAnalyzer analyzer = new StandardAnalyzer(luceneVersion); IndexWriterConfig config = new IndexWriterConfig(luceneVersion, analyzer); config.setOpenMode(OpenMode.CREATE_OR_APPEND); writer = new IndexWriter(directory, config); }