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