diff --git a/dspace-api/src/main/java/org/dspace/search/DSAnalyzer.java b/dspace-api/src/main/java/org/dspace/search/DSAnalyzer.java index c12db22393..8861e79f54 100644 --- a/dspace-api/src/main/java/org/dspace/search/DSAnalyzer.java +++ b/dspace-api/src/main/java/org/dspace/search/DSAnalyzer.java @@ -16,7 +16,6 @@ import org.apache.lucene.analysis.PorterStemFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.standard.StandardFilter; -import org.apache.lucene.util.Version; import org.dspace.core.ConfigurationManager; /** @@ -48,7 +47,7 @@ public class DSAnalyzer extends Analyzer /* * Stop table */ - protected static final Set stopSet = StopFilter.makeStopSet(Version.LUCENE_33,STOP_WORDS); + protected static final Set stopSet = StopFilter.makeStopSet(STOP_WORDS); /* * Create a token stream for this analyzer. @@ -60,7 +59,7 @@ public class DSAnalyzer extends Analyzer result = new StandardFilter(result); result = new LowerCaseFilter(result); - result = new StopFilter(Version.LUCENE_33, result, stopSet); + result = new StopFilter(result, stopSet); result = new PorterStemFilter(result); return result; diff --git a/dspace-api/src/main/java/org/dspace/search/DSIndexer.java b/dspace-api/src/main/java/org/dspace/search/DSIndexer.java index 82e2da8e82..0e9c14be0c 100644 --- a/dspace-api/src/main/java/org/dspace/search/DSIndexer.java +++ b/dspace-api/src/main/java/org/dspace/search/DSIndexer.java @@ -39,12 +39,8 @@ import org.apache.lucene.document.Field; import org.apache.lucene.document.DateTools; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.index.Term; import org.apache.lucene.index.TermDocs; -import org.apache.lucene.store.Directory; -import org.apache.lucene.store.FSDirectory; -import org.apache.lucene.util.Version; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.Collection; @@ -212,22 +208,21 @@ public class DSIndexer /* * Create the index directory if it doesn't already exist. */ - try - { - if (!IndexReader.indexExists(FSDirectory.open(new File(indexDirectory)))) + if (!IndexReader.indexExists(indexDirectory)) + { + try { - - if (!new File(indexDirectory).mkdirs()) + if (!new File(indexDirectory).mkdirs()) { log.error("Unable to create index directory: " + indexDirectory); } - openIndex(true).close(); + openIndex(true).close(); + } + catch (IOException e) + { + throw new IllegalStateException("Could not create search index: " + e.getMessage(),e); } - } - catch (IOException e) - { - throw new IllegalStateException("Could not create search index: " + e.getMessage(),e); - } + } } public static void setBatchProcessingMode(boolean mode) @@ -907,15 +902,8 @@ public class DSIndexer private static IndexWriter openIndex(boolean wipeExisting) throws IOException { - Directory dir = FSDirectory.open(new File(indexDirectory)); - IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_33, getAnalyzer()); - if(wipeExisting){ - iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE); - }else{ - iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND); - } - - IndexWriter writer = new IndexWriter(dir, iwc); + + IndexWriter writer = new IndexWriter(indexDirectory, getAnalyzer(), wipeExisting); /* Set maximum number of terms to index if present in dspace.cfg */ if (maxfieldlength == -1) @@ -994,8 +982,8 @@ public class DSIndexer if (name != null) { - doc.add(new Field("name", name, Field.Store.NO, Field.Index.ANALYZED)); - doc.add(new Field("default", name, Field.Store.NO, Field.Index.ANALYZED)); + doc.add(new Field("name", name, Field.Store.NO, Field.Index.TOKENIZED)); + doc.add(new Field("default", name, Field.Store.NO, Field.Index.TOKENIZED)); } return doc; @@ -1020,8 +1008,8 @@ public class DSIndexer if (name != null) { - doc.add(new Field("name", name, Field.Store.NO, Field.Index.ANALYZED)); - doc.add(new Field("default", name, Field.Store.NO, Field.Index.ANALYZED)); + doc.add(new Field("name", name, Field.Store.NO, Field.Index.TOKENIZED)); + doc.add(new Field("default", name, Field.Store.NO, Field.Index.TOKENIZED)); } return doc; @@ -1074,12 +1062,12 @@ public class DSIndexer doc.add( new Field(indexConfigArr[i].indexName, DateTools.dateToString(d, DateTools.Resolution.SECOND), Field.Store.NO, - Field.Index.NOT_ANALYZED)); + Field.Index.UN_TOKENIZED)); doc.add( new Field(indexConfigArr[i].indexName + ".year", DateTools.dateToString(d, DateTools.Resolution.YEAR), Field.Store.NO, - Field.Index.NOT_ANALYZED)); + Field.Index.UN_TOKENIZED)); } } else if ("date".equalsIgnoreCase(indexConfigArr[i].type)) @@ -1090,12 +1078,12 @@ public class DSIndexer doc.add( new Field(indexConfigArr[i].indexName, DateTools.dateToString(d, DateTools.Resolution.DAY), Field.Store.NO, - Field.Index.NOT_ANALYZED)); + Field.Index.UN_TOKENIZED)); doc.add( new Field(indexConfigArr[i].indexName + ".year", DateTools.dateToString(d, DateTools.Resolution.YEAR), Field.Store.NO, - Field.Index.NOT_ANALYZED)); + Field.Index.UN_TOKENIZED)); } } else @@ -1111,7 +1099,7 @@ public class DSIndexer doc.add( new Field(indexConfigArr[i].indexName+"_authority", mydc[j].authority, Field.Store.NO, - Field.Index.NOT_ANALYZED)); + Field.Index.UN_TOKENIZED)); boolean valueAlreadyIndexed = false; if (variants != null) @@ -1122,7 +1110,7 @@ public class DSIndexer doc.add( new Field(indexConfigArr[i].indexName, var, Field.Store.NO, - Field.Index.ANALYZED)); + Field.Index.TOKENIZED)); if (var.equals(mydc[j].value)) { valueAlreadyIndexed = true; @@ -1133,7 +1121,7 @@ public class DSIndexer doc.add( new Field("default", var, Field.Store.NO, - Field.Index.ANALYZED)); + Field.Index.TOKENIZED)); } } } @@ -1144,7 +1132,7 @@ public class DSIndexer doc.add( new Field(indexConfigArr[i].indexName, mydc[j].value, Field.Store.NO, - Field.Index.ANALYZED)); + Field.Index.TOKENIZED)); } } else @@ -1153,11 +1141,11 @@ public class DSIndexer doc.add( new Field(indexConfigArr[i].indexName, mydc[j].value, Field.Store.NO, - Field.Index.ANALYZED)); + Field.Index.TOKENIZED)); } } - doc.add( new Field("default", mydc[j].value, Field.Store.NO, Field.Index.ANALYZED)); + doc.add( new Field("default", mydc[j].value, Field.Store.NO, Field.Index.TOKENIZED)); } } } @@ -1176,7 +1164,7 @@ public class DSIndexer if (dcv.length > 0) { String value = OrderFormat.makeSortString(dcv[0].value, dcv[0].language, so.getType()); - doc.add( new Field("sort_" + so.getName(), value, Field.Store.NO, Field.Index.NOT_ANALYZED) ); + doc.add( new Field("sort_" + so.getName(), value, Field.Store.NO, Field.Index.UN_TOKENIZED) ); } } } @@ -1242,15 +1230,15 @@ public class DSIndexer // want to be able to check when last updated // (not tokenized, but it is indexed) - doc.add(new Field(LAST_INDEXED_FIELD, Long.toString(System.currentTimeMillis()), Field.Store.YES, Field.Index.NOT_ANALYZED)); - doc.add(new Field(DOCUMENT_STATUS_FIELD, "archived", Field.Store.YES, Field.Index.NOT_ANALYZED)); + doc.add(new Field(LAST_INDEXED_FIELD, Long.toString(System.currentTimeMillis()), Field.Store.YES, Field.Index.UN_TOKENIZED)); + doc.add(new Field(DOCUMENT_STATUS_FIELD, "archived", Field.Store.YES, Field.Index.UN_TOKENIZED)); // KEPT FOR BACKWARDS COMPATIBILITY // do location, type, handle first doc.add(new Field("type", Integer.toString(type), Field.Store.YES, Field.Index.NO)); // New fields to weaken the dependence on handles, and allow for faster list display - doc.add(new Field("search.resourcetype", Integer.toString(type), Field.Store.YES, Field.Index.NOT_ANALYZED)); + doc.add(new Field("search.resourcetype", Integer.toString(type), Field.Store.YES, Field.Index.UN_TOKENIZED)); doc.add(new Field("search.resourceid", Integer.toString(id), Field.Store.YES, Field.Index.NO)); // want to be able to search for handle, so use keyword @@ -1258,20 +1246,20 @@ public class DSIndexer if (handle != null) { // ??? not sure what the "handletext" field is but it was there in writeItemIndex ??? - doc.add(new Field("handletext", handle, Field.Store.YES, Field.Index.ANALYZED)); + doc.add(new Field("handletext", handle, Field.Store.YES, Field.Index.TOKENIZED)); // want to be able to search for handle, so use keyword // (not tokenized, but it is indexed) - doc.add(new Field("handle", handle, Field.Store.YES, Field.Index.NOT_ANALYZED)); + doc.add(new Field("handle", handle, Field.Store.YES, Field.Index.UN_TOKENIZED)); // add to full text index - doc.add(new Field("default", handle, Field.Store.NO, Field.Index.ANALYZED)); + doc.add(new Field("default", handle, Field.Store.NO, Field.Index.TOKENIZED)); } if(location != null) { - doc.add(new Field("location", location, Field.Store.NO, Field.Index.ANALYZED)); - doc.add(new Field("default", location, Field.Store.NO, Field.Index.ANALYZED)); + doc.add(new Field("location", location, Field.Store.NO, Field.Index.TOKENIZED)); + doc.add(new Field("default", location, Field.Store.NO, Field.Index.TOKENIZED)); } return doc; @@ -1283,8 +1271,8 @@ public class DSIndexer // want to be able to check when last updated // (not tokenized, but it is indexed) - doc.add(new Field(LAST_INDEXED_FIELD, Long.toString(System.currentTimeMillis()), Field.Store.YES, Field.Index.NOT_ANALYZED)); - doc.add(new Field(DOCUMENT_STATUS_FIELD, "deleted", Field.Store.YES, Field.Index.NOT_ANALYZED)); + doc.add(new Field(LAST_INDEXED_FIELD, Long.toString(System.currentTimeMillis()), Field.Store.YES, Field.Index.UN_TOKENIZED)); + doc.add(new Field(DOCUMENT_STATUS_FIELD, "deleted", Field.Store.YES, Field.Index.UN_TOKENIZED)); // Do not add any other fields, as we don't want to be able to find it - just check the last indexed time @@ -1297,8 +1285,8 @@ public class DSIndexer // want to be able to check when last updated // (not tokenized, but it is indexed) - doc.add(new Field(LAST_INDEXED_FIELD, Long.toString(System.currentTimeMillis()), Field.Store.YES, Field.Index.NOT_ANALYZED)); - doc.add(new Field(DOCUMENT_STATUS_FIELD, "withdrawn", Field.Store.YES, Field.Index.NOT_ANALYZED)); + doc.add(new Field(LAST_INDEXED_FIELD, Long.toString(System.currentTimeMillis()), Field.Store.YES, Field.Index.UN_TOKENIZED)); + doc.add(new Field(DOCUMENT_STATUS_FIELD, "withdrawn", Field.Store.YES, Field.Index.UN_TOKENIZED)); // Do not add any other fields, as we don't want to be able to find it - just check the last indexed time diff --git a/dspace-api/src/main/java/org/dspace/search/DSNonStemmingAnalyzer.java b/dspace-api/src/main/java/org/dspace/search/DSNonStemmingAnalyzer.java index 94f6a3e4b7..ee5f08ea9f 100644 --- a/dspace-api/src/main/java/org/dspace/search/DSNonStemmingAnalyzer.java +++ b/dspace-api/src/main/java/org/dspace/search/DSNonStemmingAnalyzer.java @@ -13,7 +13,6 @@ import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.standard.StandardFilter; -import org.apache.lucene.util.Version; /** * Custom Lucene Analyzer that combines the standard filter, lowercase filter @@ -33,7 +32,7 @@ public class DSNonStemmingAnalyzer extends DSAnalyzer result = new StandardFilter(result); result = new LowerCaseFilter(result); - result = new StopFilter(Version.LUCENE_33, result, stopSet); + result = new StopFilter(result, stopSet); return result; } diff --git a/dspace-api/src/main/java/org/dspace/search/DSQuery.java b/dspace-api/src/main/java/org/dspace/search/DSQuery.java index 374426c9e9..509c5414c2 100644 --- a/dspace-api/src/main/java/org/dspace/search/DSQuery.java +++ b/dspace-api/src/main/java/org/dspace/search/DSQuery.java @@ -7,7 +7,6 @@ */ package org.dspace.search; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; @@ -20,14 +19,12 @@ import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.queryParser.TokenMgrError; import org.apache.lucene.search.BooleanQuery; +import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; +import org.apache.lucene.search.Searcher; import org.apache.lucene.search.Sort; import org.apache.lucene.search.SortField; -import org.apache.lucene.search.TopDocs; -import org.apache.lucene.store.Directory; -import org.apache.lucene.store.FSDirectory; -import org.apache.lucene.util.Version; import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.core.ConfigurationManager; @@ -116,9 +113,9 @@ public class DSQuery try { // grab a searcher, and do the search - IndexSearcher searcher = getSearcher(c); + Searcher searcher = getSearcher(c); - QueryParser qp = new QueryParser(Version.LUCENE_33, "default", DSIndexer.getAnalyzer()); + QueryParser qp = new QueryParser("default", DSIndexer.getAnalyzer()); log.debug("Final query string: " + querystring); if (operator == null || operator.equals("OR")) @@ -129,30 +126,57 @@ public class DSQuery { qp.setDefaultOperator(QueryParser.AND_OPERATOR); } - + Query myquery = qp.parse(querystring); - //Retrieve enough docs to get all the results we need ! - TopDocs hits = performQuery(args, searcher, myquery, args.getPageSize() * (args.getStart() + 1)); + Hits hits = null; + try + { + if (args.getSortOption() == null) + { + SortField[] sortFields = new SortField[] { + new SortField("search.resourcetype", true), + new SortField(null, SortField.SCORE, SortOption.ASCENDING.equals(args.getSortOrder())) + }; + hits = searcher.search(myquery, new Sort(sortFields)); + } + else + { + SortField[] sortFields = new SortField[] { + new SortField("search.resourcetype", true), + new SortField("sort_" + args.getSortOption().getName(), SortOption.DESCENDING.equals(args.getSortOrder())), + SortField.FIELD_SCORE + }; + hits = searcher.search(myquery, new Sort(sortFields)); + } + } + catch (Exception e) + { + // Lucene can throw an exception if it is unable to determine a sort time from the specified field + // Provide a fall back that just works on relevancy. + log.error("Unable to use speficied sort option: " + (args.getSortOption() == null ? "type/relevance": args.getSortOption().getName())); + hits = searcher.search(myquery, new Sort(SortField.FIELD_SCORE)); + } + // set total number of hits - qr.setHitCount(hits.totalHits); + qr.setHitCount(hits.length()); // We now have a bunch of hits - snip out a 'window' // defined in start, count and return the handles // from that window // first, are there enough hits? - if (args.getStart() < hits.totalHits) + if (args.getStart() < hits.length()) { // get as many as we can, up to the window size // how many are available after snipping off at offset 'start'? - int hitsRemaining = hits.totalHits - args.getStart(); + int hitsRemaining = hits.length() - args.getStart(); int hitsToProcess = (hitsRemaining < args.getPageSize()) ? hitsRemaining : args.getPageSize(); for (int i = args.getStart(); i < (args.getStart() + hitsToProcess); i++) { - Document d = searcher.doc(hits.scoreDocs[i].doc); + Document d = hits.doc(i); String resourceId = d.get("search.resourceid"); String resourceType = d.get("search.resourcetype"); @@ -163,15 +187,15 @@ public class DSQuery switch (Integer.parseInt( resourceType != null ? resourceType : handleType)) { case Constants.ITEM: - hitTypes.add(Constants.ITEM); + hitTypes.add(Integer.valueOf(Constants.ITEM)); break; case Constants.COLLECTION: - hitTypes.add(Constants.COLLECTION); + hitTypes.add(Integer.valueOf(Constants.COLLECTION)); break; case Constants.COMMUNITY: - hitTypes.add(Constants.COMMUNITY); + hitTypes.add(Integer.valueOf(Constants.COMMUNITY)); break; } @@ -206,38 +230,6 @@ public class DSQuery return qr; } - private static TopDocs performQuery(QueryArgs args, IndexSearcher searcher, Query myquery, int max) throws IOException { - TopDocs hits; - try - { - if (args.getSortOption() == null) - { - SortField[] sortFields = new SortField[] { - new SortField("search.resourcetype", SortField.INT, true), - new SortField(null, SortField.SCORE, SortOption.ASCENDING.equals(args.getSortOrder())) - }; - hits = searcher.search(myquery, max, new Sort(sortFields)); - } - else - { - SortField[] sortFields = new SortField[] { - new SortField("search.resourcetype", SortField.INT, true), - new SortField("sort_" + args.getSortOption().getName(), SortField.STRING, SortOption.DESCENDING.equals(args.getSortOrder())), - SortField.FIELD_SCORE - }; - hits = searcher.search(myquery, max, new Sort(sortFields)); - } - } - catch (Exception e) - { - // Lucene can throw an exception if it is unable to determine a sort time from the specified field - // Provide a fall back that just works on relevancy. - log.error("Unable to use speficied sort option: " + (args.getSortOption() == null ? "type/relevance": args.getSortOption().getName())); - hits = searcher.search(myquery, max, new Sort(SortField.FIELD_SCORE)); - } - return hits; - } - static String checkEmptyQuery(String myquery) { if (myquery == null || myquery.equals("()") || myquery.equals("")) @@ -367,7 +359,7 @@ public class DSQuery { String thisHandle = (String) i.next(); Integer thisType = (Integer) j.next(); - String type = Constants.typeText[thisType]; + String type = Constants.typeText[thisType.intValue()]; // also look up type System.out.println(type + "\t" + thisHandle); @@ -429,10 +421,7 @@ public class DSQuery // If we have already opened a searcher, check to see if the index has been updated // If it has, we need to close the existing searcher - we will open a new one later - - Directory searchDir = FSDirectory.open(new File(indexDir)); - - if (searcher != null && lastModified != IndexReader.getCurrentVersion(searchDir)) + if (searcher != null && lastModified != IndexReader.getCurrentVersion(indexDir)) { try { @@ -456,18 +445,17 @@ public class DSQuery if (searcher == null) { // So, open a new searcher - lastModified = IndexReader.getCurrentVersion(searchDir); + lastModified = IndexReader.getCurrentVersion(indexDir); String osName = System.getProperty("os.name"); if (osName != null && osName.toLowerCase().contains("windows")) { - searcher = new IndexSearcher(searchDir){ + searcher = new IndexSearcher(indexDir){ /* * TODO: Has Lucene fixed this bug yet? * Lucene doesn't release read locks in * windows properly on finalize. Our hack * extend IndexSearcher to force close(). */ - @Override protected void finalize() throws Throwable { this.close(); super.finalize(); @@ -476,7 +464,7 @@ public class DSQuery } else { - searcher = new IndexSearcher(searchDir); + searcher = new IndexSearcher(indexDir); } } diff --git a/dspace-discovery/dspace-discovery-solr/pom.xml b/dspace-discovery/dspace-discovery-solr/pom.xml index bddca7b8c1..bee9fe10de 100644 --- a/dspace-discovery/dspace-discovery-solr/pom.xml +++ b/dspace-discovery/dspace-discovery-solr/pom.xml @@ -1,60 +1,60 @@ - - - 4.0.0 - jar - org.dspace - dspace-discovery-solr - 1.8.0-SNAPSHOT - DSpace Discovery :: Discovery Solr Implementation - - - org.dspace - discovery-modules - 1.8.0-SNAPSHOT - - - - - org.dspace - dspace-discovery-provider - - - - javax.servlet - servlet-api - provided - - - - org.apache.solr - solr-solrj - 3.3.0 - - - org.slf4j - slf4j-api - - - - - - commons-io - commons-io - provided - - - - - - - scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr - - scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr - - http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr - - + + + 4.0.0 + jar + org.dspace + dspace-discovery-solr + 1.8.0-SNAPSHOT + DSpace Discovery :: Discovery Solr Implementation + + + org.dspace + discovery-modules + 1.8.0-SNAPSHOT + + + + + org.dspace + dspace-discovery-provider + + + + javax.servlet + servlet-api + provided + + + + org.apache.solr + solr-solrj + 1.4.1 + + + org.slf4j + slf4j-api + + + + + + commons-io + commons-io + provided + + + + + + + scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr + + scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr + + http://scm.dspace.org/svn/repo/dspace/trunk/dspace-discovery/dspace-discovery-solr + + diff --git a/dspace-stats/pom.xml b/dspace-stats/pom.xml index fb94ffdb1c..1a48960f47 100644 --- a/dspace-stats/pom.xml +++ b/dspace-stats/pom.xml @@ -1,135 +1,135 @@ - - - - dspace-parent - org.dspace - 1.8.0-SNAPSHOT - - - 4.0.0 - org.dspace - dspace-stats - DSpace Solr Statistics Logging Client Library - 1.8.0-SNAPSHOT - Library of Shared UsageEvent and EventConsumer Tools for Logging to Solr. - - - - scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats - scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats - http://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats - - - - - Ben Bosman - ben at atmire.com - http://www.atmire.com - @MIRE - http://www.atmire.com - +1 - - - Mark Diggory - mdiggory at atmire.com - http://www.atmire.com - @MIRE - http://www.atmire.com - -5 - - - Lieven Droogmans - lieven at atmire.com - http://www.atmire.com - @MIRE - http://www.atmire.com - +1 - - - Art Lowel - art at atmire.com - http://www.atmire.com - @MIRE - http://www.atmire.com - +1 - - - Kevin Van de velde - kevin at atmire.com - http://www.atmire.com - @MIRE - http://www.atmire.com - +1 - - - - - - - - org.dspace - dspace-services-api - - - org.dspace - dspace-api - - - org.apache.solr - solr-solrj - 3.3.0 - - - org.dspace.dependencies - dspace-geoip - 1.2.3 - - - org.apache.ant - ant - - - org.dspace.dnsjava - dnsjava - 2.0.6 - - - javax.servlet - servlet-api - provided - - - org.ostermiller - utils - 1.07.00 - - - - - false - - - maven-javadoc-plugin - - - 128m - 1g - - - - - maven-jxr-plugin - - true - - - - maven-site-plugin - - - - + + + + dspace-parent + org.dspace + 1.8.0-SNAPSHOT + + + 4.0.0 + org.dspace + dspace-stats + DSpace Solr Statistics Logging Client Library + 1.8.0-SNAPSHOT + Library of Shared UsageEvent and EventConsumer Tools for Logging to Solr. + + + + scm:svn:http://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats + scm:svn:https://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats + http://scm.dspace.org/svn/repo/dspace/trunk/dspace-stats + + + + + Ben Bosman + ben at atmire.com + http://www.atmire.com + @MIRE + http://www.atmire.com + +1 + + + Mark Diggory + mdiggory at atmire.com + http://www.atmire.com + @MIRE + http://www.atmire.com + -5 + + + Lieven Droogmans + lieven at atmire.com + http://www.atmire.com + @MIRE + http://www.atmire.com + +1 + + + Art Lowel + art at atmire.com + http://www.atmire.com + @MIRE + http://www.atmire.com + +1 + + + Kevin Van de velde + kevin at atmire.com + http://www.atmire.com + @MIRE + http://www.atmire.com + +1 + + + + + + + + org.dspace + dspace-services-api + + + org.dspace + dspace-api + + + org.apache.solr + solr-solrj + 1.4.1 + + + org.dspace.dependencies + dspace-geoip + 1.2.3 + + + org.apache.ant + ant + + + org.dspace.dnsjava + dnsjava + 2.0.6 + + + javax.servlet + servlet-api + provided + + + org.ostermiller + utils + 1.07.00 + + + + + false + + + maven-javadoc-plugin + + + 128m + 1g + + + + + maven-jxr-plugin + + true + + + + maven-site-plugin + + + + \ No newline at end of file diff --git a/dspace/modules/solr/pom.xml b/dspace/modules/solr/pom.xml index 5fb8742689..bd4b6dc27b 100644 --- a/dspace/modules/solr/pom.xml +++ b/dspace/modules/solr/pom.xml @@ -1,84 +1,84 @@ - - 4.0.0 - org.dspace.modules - solr - war - DSpace SOLR :: Web Application - - DSpace SOLR Service Provider Web Application - - - - - org.dspace - modules - 1.8.0-SNAPSHOT - - - - - scm:svn:http://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr - scm:svn:https://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr - http://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr - - - - - - org.apache.maven.plugins - maven-war-plugin - - - prepare-package - - - - - - - - org.dspace - dspace-solr - 3.3.0.0 - skinny - war - - - - org.dspace - dspace-solr - 3.3.0.0 - classes - jar - - - - org.slf4j - slf4j-api - 1.5.6 - - - - org.slf4j - slf4j-jdk14 - 1.5.6 - - - - - - xalan - xalan - 2.7.0 - - - - - + + 4.0.0 + org.dspace.modules + solr + war + DSpace SOLR :: Web Application + + DSpace SOLR Service Provider Web Application + + + + + org.dspace + modules + 1.8.0-SNAPSHOT + + + + + scm:svn:http://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr + scm:svn:https://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr + http://dspace.svn.sourceforge.net/svnroot/dspace/trunk/dspace/modules/solr + + + + + + org.apache.maven.plugins + maven-war-plugin + + + prepare-package + + + + + + + + org.dspace + dspace-solr + 1.4.1.0 + skinny + war + + + + org.dspace + dspace-solr + 1.4.1.0 + classes + jar + + + + org.slf4j + slf4j-api + 1.5.6 + + + + org.slf4j + slf4j-jdk14 + 1.5.6 + + + + + + xalan + xalan + 2.7.0 + + + + + \ No newline at end of file diff --git a/dspace/solr/search/conf/schema.xml b/dspace/solr/search/conf/schema.xml index 180751d7ce..b19040d968 100644 --- a/dspace/solr/search/conf/schema.xml +++ b/dspace/solr/search/conf/schema.xml @@ -1,620 +1,658 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - handle - - - text - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + handle + + + text + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index e0fcc2dae8..b514be2faf 100644 --- a/pom.xml +++ b/pom.xml @@ -347,12 +347,12 @@ org.apache.lucene lucene-core - 3.3.0 + 2.9.3 org.apache.lucene lucene-analyzers - 3.3.0 + 2.9.3 org.dspace