LUCENE-3969: Merged /lucene/dev/trunk:r1311219-1324765
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene3969@1324945 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dev-tools/eclipse/dot.classpath b/dev-tools/eclipse/dot.classpath
index c536e5f..06ea987 100644
--- a/dev-tools/eclipse/dot.classpath
+++ b/dev-tools/eclipse/dot.classpath
@@ -109,10 +109,10 @@
<classpathentry kind="lib" path="solr/lib/commons-lang-2.6.jar"/>
<classpathentry kind="lib" path="solr/lib/easymock-2.2.jar"/>
<classpathentry kind="lib" path="solr/lib/guava-r05.jar"/>
- <classpathentry kind="lib" path="solr/lib/jcl-over-slf4j-1.6.1.jar"/>
- <classpathentry kind="lib" path="solr/lib/log4j-over-slf4j-1.6.1.jar"/>
- <classpathentry kind="lib" path="solr/lib/slf4j-api-1.6.1.jar"/>
- <classpathentry kind="lib" path="solr/lib/slf4j-jdk14-1.6.1.jar"/>
+ <classpathentry kind="lib" path="solr/lib/jcl-over-slf4j-1.6.4.jar"/>
+ <classpathentry kind="lib" path="solr/lib/log4j-over-slf4j-1.6.4.jar"/>
+ <classpathentry kind="lib" path="solr/lib/slf4j-api-1.6.4.jar"/>
+ <classpathentry kind="lib" path="solr/lib/slf4j-jdk14-1.6.4.jar"/>
<classpathentry kind="lib" path="solr/lib/wstx-asl-3.2.7.jar"/>
<classpathentry kind="lib" path="solr/lib/zookeeper-3.3.4.jar"/>
<classpathentry kind="lib" path="solr/example/lib/jetty-continuation-8.1.2.v20120308.jar"/>
diff --git a/dev-tools/idea/lucene/lucene.iml b/dev-tools/idea/lucene/lucene.iml
index 96b2fa5..44a142b 100644
--- a/dev-tools/idea/lucene/lucene.iml
+++ b/dev-tools/idea/lucene/lucene.iml
@@ -16,16 +16,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="file://$MODULE_DIR$/test-framework/lib" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- <jarDirectory url="file://$MODULE_DIR$/test-framework/lib" recursive="false" />
- </library>
- </orderEntry>
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
</component>
</module>
diff --git a/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml b/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml
index adc16d3..55ba4ff 100644
--- a/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml
+++ b/dev-tools/idea/solr/contrib/dataimporthandler-extras/dataimporthandler-extras.iml
@@ -11,6 +11,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="library" name="Solr DIH library" level="project" />
<orderEntry type="library" name="Solr extraction library" level="project" />
diff --git a/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml b/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml
index 8f0fcbc..c517ade 100644
--- a/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml
+++ b/dev-tools/idea/solr/contrib/dataimporthandler/dataimporthandler.iml
@@ -12,6 +12,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="library" name="Solr DIH library" level="project" />
<orderEntry type="module" module-name="solr" />
diff --git a/dev-tools/idea/solr/contrib/extraction/extraction.iml b/dev-tools/idea/solr/contrib/extraction/extraction.iml
index 01b0be7..6410dc3 100644
--- a/dev-tools/idea/solr/contrib/extraction/extraction.iml
+++ b/dev-tools/idea/solr/contrib/extraction/extraction.iml
@@ -11,6 +11,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="library" name="Solr extraction library" level="project" />
<orderEntry type="module" module-name="solr" />
diff --git a/dev-tools/idea/solr/contrib/langid/langid.iml b/dev-tools/idea/solr/contrib/langid/langid.iml
index bd3dd8d..3f79403 100644
--- a/dev-tools/idea/solr/contrib/langid/langid.iml
+++ b/dev-tools/idea/solr/contrib/langid/langid.iml
@@ -12,6 +12,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="library" name="Solr extraction library" level="project" />
<orderEntry type="module-library">
diff --git a/dev-tools/idea/solr/contrib/uima/uima.iml b/dev-tools/idea/solr/contrib/uima/uima.iml
index 245e11c..5489efa 100644
--- a/dev-tools/idea/solr/contrib/uima/uima.iml
+++ b/dev-tools/idea/solr/contrib/uima/uima.iml
@@ -12,6 +12,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="module-library">
<library>
diff --git a/dev-tools/idea/solr/contrib/velocity/velocity.iml b/dev-tools/idea/solr/contrib/velocity/velocity.iml
index 3c78f31..1c1972d 100644
--- a/dev-tools/idea/solr/contrib/velocity/velocity.iml
+++ b/dev-tools/idea/solr/contrib/velocity/velocity.iml
@@ -11,6 +11,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="library" name="Solr velocity library" level="project" />
<orderEntry type="module" module-name="solr" />
diff --git a/dev-tools/idea/solr/solr.iml b/dev-tools/idea/solr/solr.iml
index 1056e62..72e4abe 100644
--- a/dev-tools/idea/solr/solr.iml
+++ b/dev-tools/idea/solr/solr.iml
@@ -18,6 +18,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
<orderEntry type="library" name="Solr library" level="project" />
<orderEntry type="library" name="Solr example library" level="project" />
<orderEntry type="module" module-name="kuromoji" />
diff --git a/dev-tools/maven/pom.xml.template b/dev-tools/maven/pom.xml.template
index ee08e3f..d79f562 100644
--- a/dev-tools/maven/pom.xml.template
+++ b/dev-tools/maven/pom.xml.template
@@ -43,8 +43,8 @@
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
<java.compat.version>1.6</java.compat.version>
<jetty.version>8.1.2.v20120308</jetty.version>
- <slf4j.version>1.6.1</slf4j.version>
- <tika.version>1.0</tika.version>
+ <slf4j.version>1.6.4</slf4j.version>
+ <tika.version>1.1</tika.version>
<httpcomponents.version>4.1.3</httpcomponents.version>
<tests.asserts.gracious>false</tests.asserts.gracious>
diff --git a/dev-tools/maven/solr/contrib/clustering/pom.xml.template b/dev-tools/maven/solr/contrib/clustering/pom.xml.template
index bcd51e9..4d43643 100644
--- a/dev-tools/maven/solr/contrib/clustering/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/clustering/pom.xml.template
@@ -93,21 +93,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
<directory>${build-directory}</directory>
diff --git a/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template b/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
index f0e0369..808568c 100644
--- a/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
+++ b/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
@@ -72,21 +72,6 @@
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
<directory>${build-directory}</directory>
diff --git a/dev-tools/maven/solr/test-framework/pom.xml.template b/dev-tools/maven/solr/test-framework/pom.xml.template
index 45171b1..187c152 100644
--- a/dev-tools/maven/solr/test-framework/pom.xml.template
+++ b/dev-tools/maven/solr/test-framework/pom.xml.template
@@ -63,6 +63,23 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
+ <!-- If your tests don't use BaseDistributedSearchTestCase or SolrJettyTestBase,
+ you can exclude the three Jetty dependencies below. -->
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-webapp</artifactId>
+ <scope>runtime</scope>
+ </dependency>
</dependencies>
<build>
<directory>${build-directory}</directory>
diff --git a/dev-tools/scripts/crawl.maven.release.dist.sh b/dev-tools/scripts/crawl.maven.release.dist.sh
old mode 100644
new mode 100755
index 6a8db7b..edd839c
--- a/dev-tools/scripts/crawl.maven.release.dist.sh
+++ b/dev-tools/scripts/crawl.maven.release.dist.sh
@@ -1,7 +1,8 @@
#!/bin/sh
#
-# Crawls all Maven release distribution artifacts at the given URL
-# and downloads them to the current directory.
+# Crawls all Maven release distribution artifacts at the given release RC URL
+# and downloads them to ./lucene/ and ./solr/ after first creating these
+# two directories in the current directory.
#
#
# Licensed to the Apache Software Foundation (ASF) under one or more
@@ -21,9 +22,30 @@
#
if [ -z "$1" ] ; then
- echo "Usage: $0 <RC-url-to-lucene-or-solr-maven-dist-dir>"
- echo "Example: $0 'http://people.apache.org/~rmuir/staging_area/lucene-solr-3.6RC0-rev1309642/solr/maven/'"
+ echo "Usage: $0 <RC-URL>"
+ echo ""
+ echo "Example: $0 http://s.apache.org/lusolr36rc1"
exit 1;
fi
-wget -r -np -l 0 -nH -erobots=off --cut-dirs=8 --reject="*.md5,*.sha1,maven-metadata.xml*,index.html*" "$1/"
\ No newline at end of file
+# Resolve redirects, e.g. from URL shortening, e.g. http://s.apache.org/lusolr36rc1
+RC_URL=`(echo "Location: $1" ; wget -l 1 --spider "$1" 2>&1) \
+ | perl -ne '$url=$1 if (/Location:\s*(\S+)/); END { print "$url" if ($url); }'`
+
+if [ -d lucene ] ; then
+ echo "Please remove directory ./lucene/ before running this script."
+ exit 1;
+elif [ -d solr ] ; then
+ echo "Please remove directory ./solr/ before running this script."
+ exit 1;
+fi
+mkdir lucene
+cd lucene
+wget -r -np -l 0 -nH -erobots=off --cut-dirs=8 \
+ --reject="*.md5,*.sha1,maven-metadata.xml*,index.html*" "${RC_URL}/lucene/maven/"
+cd ..
+mkdir solr
+cd solr
+wget -r -np -l 0 -nH -erobots=off --cut-dirs=8 \
+ --reject="*.md5,*.sha1,maven-metadata.xml*,index.html*" "${RC_URL}/solr/maven/"
+cd ..
diff --git a/dev-tools/scripts/write.stage.maven.build.xml.pl b/dev-tools/scripts/write.stage.maven.build.xml.pl
old mode 100644
new mode 100755
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 224c999..7ee8014 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -259,6 +259,9 @@
* LUCENE-2000: clone() now returns covariant types where possible. (ryan)
+* LUCENE-3970: Rename Fields.getUniqueFieldCount -> .size() and
+ Terms.getUniqueTermCount -> .size(). (Iulius Curt via Mike McCandless)
+
Changes in Runtime Behavior
* LUCENE-2846: omitNorms now behaves like omitTermFrequencyAndPositions, if you
diff --git a/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java b/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
index af9c5b0..ab6b7ca 100644
--- a/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
+++ b/lucene/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
@@ -759,7 +759,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return info.sortedTerms.length;
}
@@ -785,7 +785,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return sortedFields.length;
}
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/BlockTermsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/BlockTermsReader.java
index 0c892c2..6e52354 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/BlockTermsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/BlockTermsReader.java
@@ -202,7 +202,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return fields.size();
}
@@ -261,7 +261,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return numTerms;
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java
index 9754302..cd70abb 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/BlockTreeTermsReader.java
@@ -216,7 +216,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return fields.size();
}
@@ -455,7 +455,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return numTerms;
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
index 1f30e9a..b356b23 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
@@ -166,17 +166,17 @@
/** Safe (but, slowish) default method to write every
* vector field in the document. This default
* implementation requires that the vectors implement
- * both Fields.getUniqueFieldCount and
- * Terms.getUniqueTermCount. */
+ * both Fields.size and
+ * Terms.size. */
protected final void addAllDocVectors(Fields vectors, FieldInfos fieldInfos) throws IOException {
if (vectors == null) {
startDocument(0);
return;
}
- final int numFields = vectors.getUniqueFieldCount();
+ final int numFields = vectors.size();
if (numFields == -1) {
- throw new IllegalStateException("vectors.getUniqueFieldCount() must be implemented (it returned -1)");
+ throw new IllegalStateException("vectors.size() must be implemented (it returned -1)");
}
startDocument(numFields);
@@ -195,9 +195,9 @@
// FieldsEnum shouldn't lie...
continue;
}
- final int numTerms = (int) terms.getUniqueTermCount();
+ final int numTerms = (int) terms.size();
if (numTerms == -1) {
- throw new IllegalStateException("vector.getUniqueTermCount() must be implemented (it returned -1)");
+ throw new IllegalStateException("terms.size() must be implemented (it returned -1)");
}
final TermsEnum termsEnum = terms.iterator(null);
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xFields.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xFields.java
index a3edb7b..621fe44 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xFields.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xFields.java
@@ -161,7 +161,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return preTerms.size();
}
@@ -246,7 +246,7 @@
}
@Override
- public long getUniqueTermCount() throws IOException {
+ public long size() throws IOException {
return -1;
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xTermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xTermVectorsReader.java
index 62406fc..c66e058 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xTermVectorsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene3x/Lucene3xTermVectorsReader.java
@@ -270,7 +270,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
if (fieldNumbers == null) {
return 0;
} else {
@@ -307,7 +307,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return numTerms;
}
@@ -660,7 +660,7 @@
}
if (tvx != null) {
Fields fields = new TVFields(docID);
- if (fields.getUniqueFieldCount() == 0) {
+ if (fields.size() == 0) {
// TODO: we can improve writer here, eg write 0 into
// tvx file, so we know on first read from tvx that
// this doc has no TVs
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsReader.java
index af223fe..8e83f6d 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene40/Lucene40TermVectorsReader.java
@@ -300,7 +300,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
if (fieldNumbers == null) {
return 0;
} else {
@@ -335,7 +335,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return numTerms;
}
@@ -674,7 +674,7 @@
}
if (tvx != null) {
Fields fields = new TVFields(docID);
- if (fields.getUniqueFieldCount() == 0) {
+ if (fields.size() == 0) {
// TODO: we can improve writer here, eg write 0 into
// tvx file, so we know on first read from tvx that
// this doc has no TVs
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
index 89d8bb3..8badc9b 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
@@ -824,7 +824,7 @@
}
@Override
- public long getUniqueTermCount() throws IOException {
+ public long size() throws IOException {
return termCount;
}
@@ -888,7 +888,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return fields.size();
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
index e443683..23cb6bd 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java
@@ -248,7 +248,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return fields.size();
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
index af4a826..c3b252d 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
@@ -596,7 +596,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return (long) termCount;
}
@@ -641,7 +641,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return -1;
}
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
index 1aeabdd..03d6825 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
@@ -257,7 +257,7 @@
}
@Override
- public int getUniqueFieldCount() throws IOException {
+ public int size() throws IOException {
return fields.size();
}
}
@@ -281,7 +281,7 @@
}
@Override
- public long getUniqueTermCount() throws IOException {
+ public long size() throws IOException {
return terms.size();
}
diff --git a/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java b/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
index 3683684..610f39a 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
@@ -1051,7 +1051,7 @@
long termCount = -1;
if (status.termCount-termCountStart > 0) {
- termCount = fields.terms(field).getUniqueTermCount();
+ termCount = fields.terms(field).size();
if (termCount != -1 && termCount != status.termCount - termCountStart) {
throw new RuntimeException("termCount mismatch " + termCount + " vs " + (status.termCount - termCountStart));
@@ -1104,7 +1104,7 @@
}
}
- int fieldCount = fields.getUniqueFieldCount();
+ int fieldCount = fields.size();
if (fieldCount != -1) {
if (fieldCount < 0) {
diff --git a/lucene/core/src/java/org/apache/lucene/index/Fields.java b/lucene/core/src/java/org/apache/lucene/index/Fields.java
index 81b1dbd..4cfe57a 100644
--- a/lucene/core/src/java/org/apache/lucene/index/Fields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/Fields.java
@@ -36,7 +36,7 @@
* measure isn't stored by the codec. Note that, just like
* other term measures, this measure does not take deleted
* documents into account. */
- public abstract int getUniqueFieldCount() throws IOException;
+ public abstract int size() throws IOException;
/** Returns the number of terms for all fields, or -1 if this
* measure isn't stored by the codec. Note that, just like
@@ -53,7 +53,7 @@
}
Terms terms = terms(field);
if (terms != null) {
- final long termCount = terms.getUniqueTermCount();
+ final long termCount = terms.size();
if (termCount == -1) {
return -1;
}
diff --git a/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java b/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
index e1a302f..cc67c40 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FilterAtomicReader.java
@@ -56,8 +56,8 @@
}
@Override
- public int getUniqueFieldCount() throws IOException {
- return in.getUniqueFieldCount();
+ public int size() throws IOException {
+ return in.size();
}
@Override
@@ -86,8 +86,8 @@
}
@Override
- public long getUniqueTermCount() throws IOException {
- return in.getUniqueTermCount();
+ public long size() throws IOException {
+ return in.size();
}
@Override
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiFields.java b/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
index e2df431..9bd226c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
@@ -228,7 +228,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return -1;
}
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java b/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
index 14c1f5d..c18ac6c 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiTerms.java
@@ -96,7 +96,7 @@
}
@Override
- public long getUniqueTermCount() throws IOException {
+ public long size() throws IOException {
return -1;
}
diff --git a/lucene/core/src/java/org/apache/lucene/index/ParallelAtomicReader.java b/lucene/core/src/java/org/apache/lucene/index/ParallelAtomicReader.java
index 545eead..8e76d37 100644
--- a/lucene/core/src/java/org/apache/lucene/index/ParallelAtomicReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/ParallelAtomicReader.java
@@ -197,7 +197,7 @@
}
@Override
- public int getUniqueFieldCount() throws IOException {
+ public int size() throws IOException {
return fields.size();
}
}
diff --git a/lucene/core/src/java/org/apache/lucene/index/Terms.java b/lucene/core/src/java/org/apache/lucene/index/Terms.java
index 174ddce..435837a 100644
--- a/lucene/core/src/java/org/apache/lucene/index/Terms.java
+++ b/lucene/core/src/java/org/apache/lucene/index/Terms.java
@@ -81,7 +81,7 @@
* measure isn't stored by the codec. Note that, just like
* other term measures, this measure does not take deleted
* documents into account. */
- public abstract long getUniqueTermCount() throws IOException;
+ public abstract long size() throws IOException;
/** Returns the sum of {@link TermsEnum#totalTermFreq} for
* all terms in this field, or -1 if this measure isn't
diff --git a/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java b/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java
index 0c2513c..79b7500 100644
--- a/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/search/FieldCacheImpl.java
@@ -1114,7 +1114,7 @@
// is fine -- GrowableWriter will reallocate as needed
long numUniqueTerms = 0;
try {
- numUniqueTerms = terms.getUniqueTermCount();
+ numUniqueTerms = terms.size();
} catch (UnsupportedOperationException uoe) {
numUniqueTerms = -1;
}
@@ -1165,7 +1165,7 @@
if (termOrd == termOrdToBytesOffset.size()) {
// NOTE: this code only runs if the incoming
// reader impl doesn't implement
- // getUniqueTermCount (which should be uncommon)
+ // size (which should be uncommon)
termOrdToBytesOffset = termOrdToBytesOffset.resize(ArrayUtil.oversize(1+termOrd, 1));
}
termOrdToBytesOffset.set(termOrd, bytes.copyUsingLengthPrefix(term));
@@ -1252,7 +1252,7 @@
// is fine -- GrowableWriter will reallocate as needed
long numUniqueTerms = 0;
try {
- numUniqueTerms = terms.getUniqueTermCount();
+ numUniqueTerms = terms.size();
} catch (UnsupportedOperationException uoe) {
numUniqueTerms = -1;
}
diff --git a/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java b/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java
index 8d1c774..51346cb 100644
--- a/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java
+++ b/lucene/core/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java
@@ -21,7 +21,6 @@
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat;
import org.apache.lucene.index.AtomicReader;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsEnum;
@@ -63,7 +62,7 @@
enums.put(docs, true);
}
- assertEquals(terms.getUniqueTermCount(), enums.size());
+ assertEquals(terms.size(), enums.size());
}
}.run();
IOUtils.close(writer, open, dir);
@@ -100,7 +99,7 @@
docs = iterator.docs(new Bits.MatchNoBits(open.maxDoc()), docs, random.nextBoolean());
enums.put(docs, true);
}
- assertEquals(terms.getUniqueTermCount(), enums.size());
+ assertEquals(terms.size(), enums.size());
enums.clear();
iterator = terms.iterator(null);
@@ -141,7 +140,7 @@
docs = iterator.docs(null, randomDocsEnum("body", term, sequentialSubReaders2, bits), random.nextBoolean());
enums.put(docs, true);
}
- assertEquals(terms.getUniqueTermCount(), enums.size());
+ assertEquals(terms.size(), enums.size());
iterator = terms.iterator(null);
enums.clear();
@@ -150,7 +149,7 @@
docs = iterator.docs(bits, randomDocsEnum("body", term, sequentialSubReaders2, bits), random.nextBoolean());
enums.put(docs, true);
}
- assertEquals(terms.getUniqueTermCount(), enums.size());
+ assertEquals(terms.size(), enums.size());
}
IOUtils.close(writer, firstReader, secondReader, dir);
}
diff --git a/lucene/core/src/test/org/apache/lucene/document/TestDocument.java b/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
index 90a11df..e23a944 100644
--- a/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
+++ b/lucene/core/src/test/org/apache/lucene/document/TestDocument.java
@@ -21,7 +21,6 @@
import org.apache.lucene.analysis.EmptyTokenizer;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.Fields;
@@ -345,7 +344,7 @@
Fields tvFields = r.getTermVectors(0);
Terms tvs = tvFields.terms(field);
assertNotNull(tvs);
- assertEquals(2, tvs.getUniqueTermCount());
+ assertEquals(2, tvs.size());
TermsEnum tvsEnum = tvs.iterator(null);
assertEquals(new BytesRef("abc"), tvsEnum.next());
final DocsAndPositionsEnum dpEnum = tvsEnum.docsAndPositions(null, null, false);
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java b/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
index 77032da..512bb31 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
@@ -290,11 +290,11 @@
// f1
Terms tfv1 = reader.getTermVectors(0).terms("f1");
assertNotNull(tfv1);
- assertEquals("the 'with_tv' setting should rule!",2,tfv1.getUniqueTermCount());
+ assertEquals("the 'with_tv' setting should rule!",2,tfv1.size());
// f2
Terms tfv2 = reader.getTermVectors(0).terms("f2");
assertNotNull(tfv2);
- assertEquals("the 'with_tv' setting should rule!",2,tfv2.getUniqueTermCount());
+ assertEquals("the 'with_tv' setting should rule!",2,tfv2.size());
reader.close();
}
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
index 7c416ca..ed7d5f4 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
@@ -184,8 +184,8 @@
* checks that top-level statistics on Fields are the same
*/
public void assertFieldStatistics(Fields leftFields, Fields rightFields) throws Exception {
- if (leftFields.getUniqueFieldCount() != -1 && rightFields.getUniqueFieldCount() != -1) {
- assertEquals(info, leftFields.getUniqueFieldCount(), rightFields.getUniqueFieldCount());
+ if (leftFields.size() != -1 && rightFields.size() != -1) {
+ assertEquals(info, leftFields.size(), rightFields.size());
}
if (leftFields.getUniqueTermCount() != -1 && rightFields.getUniqueTermCount() != -1) {
@@ -238,8 +238,8 @@
if (leftTerms.getSumTotalTermFreq() != -1 && rightTerms.getSumTotalTermFreq() != -1) {
assertEquals(info, leftTerms.getSumTotalTermFreq(), rightTerms.getSumTotalTermFreq());
}
- if (leftTerms.getUniqueTermCount() != -1 && rightTerms.getUniqueTermCount() != -1) {
- assertEquals(info, leftTerms.getUniqueTermCount(), rightTerms.getUniqueTermCount());
+ if (leftTerms.size() != -1 && rightTerms.size() != -1) {
+ assertEquals(info, leftTerms.size(), rightTerms.size());
}
}
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
index 242063e..2ee7d1f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
@@ -19,10 +19,8 @@
import java.io.IOException;
-import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.TextField;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
@@ -120,7 +118,7 @@
Terms vector = mergedReader.getTermVectors(0).terms(DocHelper.TEXT_FIELD_2_KEY);
assertNotNull(vector);
- assertEquals(3, vector.getUniqueTermCount());
+ assertEquals(3, vector.size());
TermsEnum termsEnum = vector.iterator(null);
int i = 0;
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
index c84382b..870f5fe 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
@@ -193,7 +193,7 @@
public void testTermVectors() throws IOException {
Terms result = reader.getTermVectors(0).terms(DocHelper.TEXT_FIELD_2_KEY);
assertNotNull(result);
- assertEquals(3, result.getUniqueTermCount());
+ assertEquals(3, result.size());
TermsEnum termsEnum = result.iterator(null);
while(termsEnum.next() != null) {
String term = termsEnum.term().utf8ToString();
@@ -204,6 +204,6 @@
Fields results = reader.getTermVectors(0);
assertTrue(results != null);
- assertEquals("We do not have 3 term freq vectors", 3, results.getUniqueFieldCount());
+ assertEquals("We do not have 3 term freq vectors", 3, results.size());
}
}
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java b/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
index e309fbf..304bf73 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
@@ -600,7 +600,7 @@
public static void verifyEquals(Fields d1, Fields d2) throws IOException {
if (d1 == null) {
- assertTrue(d2 == null || d2.getUniqueFieldCount() == 0);
+ assertTrue(d2 == null || d2.size() == 0);
return;
}
assertTrue(d2 != null);
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java b/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
index 8fd532c..73b49e9 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
@@ -204,7 +204,7 @@
for (int j = 0; j < 5; j++) {
Terms vector = reader.get(j).terms(testFields[0]);
assertNotNull(vector);
- assertEquals(testTerms.length, vector.getUniqueTermCount());
+ assertEquals(testTerms.length, vector.size());
TermsEnum termsEnum = vector.iterator(null);
for (int i = 0; i < testTerms.length; i++) {
final BytesRef text = termsEnum.next();
@@ -223,7 +223,7 @@
for (int j = 0; j < 5; j++) {
Terms vector = reader.get(j).terms(testFields[0]);
assertNotNull(vector);
- assertEquals(testTerms.length, vector.getUniqueTermCount());
+ assertEquals(testTerms.length, vector.size());
TermsEnum termsEnum = vector.iterator(null);
DocsEnum docsEnum = null;
for (int i = 0; i < testTerms.length; i++) {
@@ -250,7 +250,7 @@
BytesRef[] terms;
Terms vector = reader.get(0).terms(testFields[0]);
assertNotNull(vector);
- assertEquals(testTerms.length, vector.getUniqueTermCount());
+ assertEquals(testTerms.length, vector.size());
TermsEnum termsEnum = vector.iterator(null);
DocsAndPositionsEnum dpEnum = null;
for (int i = 0; i < testTerms.length; i++) {
@@ -287,7 +287,7 @@
Terms freqVector = reader.get(0).terms(testFields[1]); //no pos, no offset
assertNotNull(freqVector);
- assertEquals(testTerms.length, freqVector.getUniqueTermCount());
+ assertEquals(testTerms.length, freqVector.size());
termsEnum = freqVector.iterator(null);
assertNotNull(termsEnum);
for (int i = 0; i < testTerms.length; i++) {
@@ -306,7 +306,7 @@
assertNotNull(vector);
TermsEnum termsEnum = vector.iterator(null);
assertNotNull(termsEnum);
- assertEquals(testTerms.length, vector.getUniqueTermCount());
+ assertEquals(testTerms.length, vector.size());
DocsAndPositionsEnum dpEnum = null;
for (int i = 0; i < testTerms.length; i++) {
final BytesRef text = termsEnum.next();
diff --git a/lucene/core/src/test/org/apache/lucene/search/FieldCacheRewriteMethod.java b/lucene/core/src/test/org/apache/lucene/search/FieldCacheRewriteMethod.java
index edfef5c..2abdf76 100644
--- a/lucene/core/src/test/org/apache/lucene/search/FieldCacheRewriteMethod.java
+++ b/lucene/core/src/test/org/apache/lucene/search/FieldCacheRewriteMethod.java
@@ -119,7 +119,7 @@
}
@Override
- public long getUniqueTermCount() throws IOException {
+ public long size() throws IOException {
return -1;
}
});
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTermVectors.java b/lucene/core/src/test/org/apache/lucene/search/TestTermVectors.java
index 9e2d391..838ca96 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestTermVectors.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestTermVectors.java
@@ -98,7 +98,7 @@
for (int i = 0; i < hits.length; i++) {
Fields vectors = searcher.reader.getTermVectors(hits[i].doc);
assertNotNull(vectors);
- assertEquals("doc=" + hits[i].doc + " tv=" + vectors, 1, vectors.getUniqueFieldCount());
+ assertEquals("doc=" + hits[i].doc + " tv=" + vectors, 1, vectors.size());
}
Terms vector;
vector = searcher.reader.getTermVectors(hits[0].doc).terms("noTV");
@@ -121,13 +121,13 @@
IndexReader reader = writer.getReader();
writer.close();
Fields v = reader.getTermVectors(0);
- assertEquals(4, v.getUniqueFieldCount());
+ assertEquals(4, v.size());
String[] expectedFields = new String[]{"a", "b", "c", "x"};
int[] expectedPositions = new int[]{1, 2, 0};
FieldsEnum fieldsEnum = v.iterator();
for(int i=0;i<expectedFields.length;i++) {
assertEquals(expectedFields[i], fieldsEnum.next());
- assertEquals(3, v.terms(expectedFields[i]).getUniqueTermCount());
+ assertEquals(3, v.terms(expectedFields[i]).size());
DocsAndPositionsEnum dpEnum = null;
Terms terms = fieldsEnum.terms();
@@ -166,7 +166,7 @@
for (int i = 0; i < hits.length; i++) {
Fields vectors = searcher.reader.getTermVectors(hits[i].doc);
assertNotNull(vectors);
- assertEquals(1, vectors.getUniqueFieldCount());
+ assertEquals(1, vectors.size());
TermsEnum termsEnum = vectors.terms("field").iterator(null);
assertNotNull(termsEnum.next());
@@ -205,7 +205,7 @@
for (int i = 0; i < hits.length; i++) {
Fields vectors = searcher.reader.getTermVectors(hits[i].doc);
assertNotNull(vectors);
- assertEquals(1, vectors.getUniqueFieldCount());
+ assertEquals(1, vectors.size());
}
}
@@ -303,7 +303,7 @@
Terms vector = knownSearcher.reader.getTermVectors(hits[1].doc).terms("field");
assertNotNull(vector);
//System.out.println("Vector: " + vector);
- assertEquals(10, vector.getUniqueTermCount());
+ assertEquals(10, vector.size());
TermsEnum termsEnum = vector.iterator(null);
while(termsEnum.next() != null) {
String term = termsEnum.term().utf8ToString();
@@ -371,7 +371,7 @@
Fields vectors = searcher.reader.getTermVectors(hits[i].doc);
assertNotNull(vectors);
- assertEquals(1, vectors.getUniqueFieldCount());
+ assertEquals(1, vectors.size());
}
reader.close();
}
@@ -418,10 +418,10 @@
Fields vectors = searcher.reader.getTermVectors(hits[0].doc);
assertNotNull(vectors);
- assertEquals(1, vectors.getUniqueFieldCount());
+ assertEquals(1, vectors.size());
Terms vector = vectors.terms("field");
assertNotNull(vector);
- assertEquals(1, vector.getUniqueTermCount());
+ assertEquals(1, vector.size());
TermsEnum termsEnum = vector.iterator(null);
assertNotNull(termsEnum.next());
assertEquals("one", termsEnum.term().utf8ToString());
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
index 824b6b5..6f956f9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
@@ -109,7 +109,7 @@
}
@Override
- public int getUniqueFieldCount() {
+ public int size() {
return fieldToTerms.size();
}
@@ -135,7 +135,7 @@
}
@Override
- public long getUniqueTermCount() {
+ public long size() {
return termToDocs.size();
}
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java
index 6c11e41..972f8ae 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/FieldFilterAtomicReader.java
@@ -130,7 +130,7 @@
}
@Override
- public int getUniqueFieldCount() throws IOException {
+ public int size() throws IOException {
// TODO: add faster implementation!
int c = 0;
final FieldsEnum it = iterator();
diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
index 263fc8b..2d0b26d 100644
--- a/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
+++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
@@ -30,7 +30,6 @@
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DocsAndPositionsEnum;
-import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Terms;
@@ -106,7 +105,7 @@
IndexReader r = IndexReader.open(dir);
Terms vector = r.getTermVectors(0).terms("field");
- assertEquals(1, vector.getUniqueTermCount());
+ assertEquals(1, vector.size());
TermsEnum termsEnum = vector.iterator(null);
termsEnum.next();
assertEquals(2, termsEnum.totalTermFreq());
diff --git a/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java b/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
index fe751ca..1891ec8 100644
--- a/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
+++ b/modules/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
@@ -447,7 +447,11 @@
checkRandomData(random, analyzer, 1000*RANDOM_MULTIPLIER);
}
}
-
+
+ // NOTE: this is an invalid test... SynFilter today can't
+ // properly consume a graph... we can re-enable this once
+ // we fix that...
+ /*
// Adds MockGraphTokenFilter before SynFilter:
public void testRandom2GraphBefore() throws Exception {
final int numIters = atLeast(10);
@@ -472,6 +476,7 @@
checkRandomData(random, analyzer, 1000*RANDOM_MULTIPLIER);
}
}
+ */
// Adds MockGraphTokenFilter after SynFilter:
public void testRandom2GraphAfter() throws Exception {
diff --git a/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java b/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
index 7d93f1e..9e0cb60 100755
--- a/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
+++ b/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
@@ -752,7 +752,7 @@
IndexReader reader = IndexReader.open(dir);
Fields tfv = reader.getTermVectors(0);
assertNotNull(tfv);
- assertTrue(tfv.getUniqueFieldCount() > 0);
+ assertTrue(tfv.size() > 0);
reader.close();
}
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index e42f40a..cdc8930 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -482,6 +482,9 @@
* SOLR-3329: Dropped getSourceID() from SolrInfoMBean and using
getClass().getPackage().getSpecificationVersion() for Version. (ryan)
+* SOLR-3302: Upgraded SLF4j to version 1.6.4 (hossman)
+
+* SOLR-3322: Add more context to IndexReaderFactory.newReader (ab)
Documentation
----------------------
diff --git a/solr/NOTICE.txt b/solr/NOTICE.txt
index fdb4204..c289690 100644
--- a/solr/NOTICE.txt
+++ b/solr/NOTICE.txt
@@ -244,7 +244,14 @@
Copyright 2004 Sun Microsystems, Inc. (Rome JAR)
Copyright 2002-2008 by John Cowan (TagSoup -- http://ccil.org/~cowan/XML/tagsoup/)
-
+
+Copyright (C) 1999-2007 Shigeru Chiba. All Rights Reserved.
+(Javassist, MPL licensed: http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/)
+
+Copyright (C) 1994-2007 by the Xiph.org Foundation, http://www.xiph.org/ (OggVorbis)
+
+Scannotation (C) Bill Burke
+
=========================================================================
== Language Detection Notices ==
=========================================================================
diff --git a/solr/core/ivy.xml b/solr/core/ivy.xml
index 55a77e3..afb6c17 100644
--- a/solr/core/ivy.xml
+++ b/solr/core/ivy.xml
@@ -25,14 +25,14 @@
<dependency org="org.apache.httpcomponents" name="httpcore" rev="4.1.4" transitive="false"/>
<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.1.3" transitive="false"/>
<dependency org="org.apache.httpcomponents" name="httpmime" rev="4.1.3" transitive="false"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" transitive="false"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.4" transitive="false"/>
<dependency org="commons-io" name="commons-io" rev="2.1" transitive="false"/>
<dependency org="commons-lang" name="commons-lang" rev="2.6" transitive="false"/>
<dependency org="com.google.guava" name="guava" rev="r05" transitive="false"/>
<dependency org="org.codehaus.woodstox" name="wstx-asl" rev="3.2.7" transitive="false"/>
<dependency org="org.easymock" name="easymock" rev="2.2" transitive="false"/>
- <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" transitive="false"/>
- <dependency org="org.slf4j" name="slf4j-jdk14" rev="1.6.1" transitive="false"/>
+ <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" transitive="false"/>
+ <dependency org="org.slf4j" name="slf4j-jdk14" rev="1.6.4" transitive="false"/>
<dependency org="com.spatial4j" name="spatial4j" rev="0.2" transitive="false"/>
<dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" transitive="false"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
diff --git a/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java b/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
index 9d48d1a..b9e7409 100644
--- a/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/IndexReaderFactory.java
@@ -58,9 +58,13 @@
* Creates a new IndexReader instance using the given Directory.
*
* @param indexDir indexDir index location
+ * @param core {@link SolrCore} instance where this reader will be used. NOTE:
+ * this SolrCore instance may not be fully configured yet, but basic things like
+ * {@link SolrCore#getCoreDescriptor()}, {@link SolrCore#getSchema()} and
+ * {@link SolrCore#getSolrConfig()} are valid.
* @return An IndexReader instance
* @throws IOException
*/
- public abstract DirectoryReader newReader(Directory indexDir)
+ public abstract DirectoryReader newReader(Directory indexDir, SolrCore core)
throws IOException;
}
diff --git a/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java b/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
index b52d412..615e9d9 100644
--- a/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/StandardIndexReaderFactory.java
@@ -30,7 +30,7 @@
public class StandardIndexReaderFactory extends IndexReaderFactory {
@Override
- public DirectoryReader newReader(Directory indexDir) throws IOException {
+ public DirectoryReader newReader(Directory indexDir, SolrCore core) throws IOException {
return DirectoryReader.open(indexDir, termInfosIndexDivisor);
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
index 9f254a8..6df7a21 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
@@ -595,7 +595,7 @@
if (freq > tiq.minFreq) {
UnicodeUtil.UTF8toUTF16(text, spare);
String t = spare.toString();
- tiq.distinctTerms = new Long(terms.getUniqueTermCount()).intValue();
+ tiq.distinctTerms = new Long(terms.size()).intValue();
tiq.add(new TopTermQueue.TermInfo(new Term(field, t), termsEnum.docFreq()));
if (tiq.size() > numTerms) { // if tiq full
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
index e7756e1..db6b19c 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ShowFileRequestHandler.java
@@ -17,7 +17,6 @@
package org.apache.solr.handler.admin;
-import org.apache.commons.io.IOUtils;
import org.apache.solr.cloud.ZkSolrResourceLoader;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
@@ -38,7 +37,6 @@
import java.io.File;
import java.io.IOException;
-import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URISyntaxException;
import java.util.Date;
@@ -88,11 +86,9 @@
protected Set<String> hiddenFiles;
- private static ShowFileRequestHandler instance;
public ShowFileRequestHandler()
{
super();
- instance = this; // used so that getFileContents can access hiddenFiles
}
@Override
@@ -281,30 +277,7 @@
rsp.setHttpCaching(false);
}
- /**
- * This is a utility function that lets you get the contents of an admin file
- *
- * It is only used so that we can get rid of "/admin/get-file.jsp" and include
- * "admin-extra.html" in "/admin/index.html" using jsp scriptlets
- */
- public static String getFileContents(SolrCore core, String path )
- {
- if( instance != null && instance.hiddenFiles != null ) {
- if( instance.hiddenFiles.contains( path ) ) {
- return ""; // ignore it...
- }
- }
- InputStream input = null;
- try {
- input = core.getResourceLoader().openResource(path);
- return IOUtils.toString( input, "UTF-8" );
- } catch( Exception ex ) {
- } finally {
- IOUtils.closeQuietly(input);
- }
- return "";
- }
-
+
//////////////////////// SolrInfoMBeans methods //////////////////////
@Override
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
index 52df144..0081e24 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/SolrInfoMBeanHandler.java
@@ -177,7 +177,7 @@
// Something in the category changed
// Now iterate the real beans
- NamedList<NamedList<Object>> cat = new NamedList<NamedList<Object>>();
+ NamedList<NamedList<Object>> cat = new SimpleOrderedMap<NamedList<Object>>();
for(int j=0;j<ref_cat.size();j++) {
String name = ref_cat.getName(j);
NamedList<Object> ref_bean = ref_cat.get(name);
@@ -205,7 +205,7 @@
}
public NamedList diffNamedList(NamedList ref, NamedList now) {
- NamedList out = new NamedList();
+ NamedList out = new SimpleOrderedMap();
for(int i=0; i<ref.size(); i++) {
String name = ref.getName(i);
Object r = ref.getVal(i);
diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
index 5a9312e..b2ae0ed 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
@@ -117,7 +117,7 @@
public SolrIndexSearcher(SolrCore core, String path, IndexSchema schema, SolrIndexConfig config, String name, boolean enableCache, DirectoryFactory directoryFactory) throws IOException {
// we don't need to reserve the directory because we get it from the factory
- this(core, schema,name, core.getIndexReaderFactory().newReader(directoryFactory.get(path, config.lockType)), true, enableCache, false, directoryFactory);
+ this(core, schema,name, core.getIndexReaderFactory().newReader(directoryFactory.get(path, config.lockType), core), true, enableCache, false, directoryFactory);
}
public SolrIndexSearcher(SolrCore core, IndexSchema schema, String name, DirectoryReader r, boolean closeReader, boolean enableCache, boolean reserveDirectory, DirectoryFactory directoryFactory) throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/servlet/LogLevelSelection.java b/solr/core/src/java/org/apache/solr/servlet/LogLevelSelection.java
deleted file mode 100644
index 5a93d53..0000000
--- a/solr/core/src/java/org/apache/solr/servlet/LogLevelSelection.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.solr.servlet;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.solr.handler.admin.LogLevelHandler;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.LogManager;
-import java.util.logging.Logger;
-
-
-/**
- * Admin JDK Logger level report and selection servlet.
- *
- * @since solr 1.3
- * @deprecated {@link LogLevelHandler} this servlet will be removed before solr 4.0
- */
-public final class LogLevelSelection extends HttpServlet {
- @Override
- public void init() throws ServletException {
- }
-
- /**
- * Processes an HTTP GET request and changes the logging level as
- * specified.
- */
- @Override
- public void doGet(HttpServletRequest request,
- HttpServletResponse response)
- throws IOException, ServletException {
- // Output page
-
- response.setContentType("text/html");
- PrintWriter out = response.getWriter();
- out.write("<html><head>\n");
- out.write("<title>Solr Admin: JDK Log Level Selector</title>\n");
- out.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"solr-admin.css\" />");
- out.write("</head><body>\n");
- out.write("<a href=\".\"><img border=\"0\" align=\"right\" height=\"78\" width=\"142\" src=\"img/solr.png\" alt=\"Solr\"></a>");
- out.write("<h1 style='margin-bottom:5px;'>JDK Log Level Selector</h1>");
- out.write("<h2 style='color:#AA0000; margin-top:0px;'>This will be removed before Solr 4.0. See <a href='/#/logging'>logging</a></h1>");
-
- out.write("<p>Below is the complete JDK Log hierarchy with " +
- "intermediate logger/categories synthesized. " +
- "The effective logging level is shown to the " +
- "far right. If a logger has unset level, then " +
- "the effective level is that of the nearest ancestor " +
- "with a level setting. Note that this only shows " +
- "JDK Log levels.</p>\n");
-
- out.write("<form method='POST'>\n");
-
- out.write("<input type='submit' name='submit' value='set' " +
- "class='button'>\n");
- out.write("<input type='submit' name='submit' value='cancel' " +
- "class='button'>\n");
- out.write("<br><br>\n");
-
- out.write("<table cellspacing='2' cellpadding='2'>");
-
- out.write("<tr bgcolor='#CCCCFF'>" +
- "<th align=left>Logger/Category name<br>" +
- "<th colspan=9>Level</th>" +
- "</tr><tr bgcolor='#CCCCFF'>" +
- "<td bgcolor='#AAAAAA'>" +
- "(Dark rows don't yet exist.)</td>");
-
- for (int j = 0; j < LEVELS.length; ++j) {
- out.write("<th align=left>");
- if (LEVELS[j] != null) out.write(LEVELS[j].toString());
- else out.write("unset");
- out.write("</th>");
- }
- out.write("<th align=left>Effective</th>\n");
- out.write("</tr>\n");
-
- Iterator iWrappers = buildWrappers().iterator();
- while (iWrappers.hasNext()) {
-
- LogWrapper wrapper = (LogWrapper) iWrappers.next();
-
- out.write("<tr");
- if (wrapper.logger == null) {
- out.write(" bgcolor='#AAAAAA'");
- }
- //out.write( ( wrapper.logger != null ) ? "#DDDDDD" : "#AAAAAA" );
- out.write("><td>");
- if ("".equals(wrapper.name)) {
- out.write("root");
- } else {
- out.write(wrapper.name);
- }
- out.write("</td>\n");
- for (int j = 0; j < LEVELS.length; ++j) {
- out.write("<td align=center>");
- if (!wrapper.name.equals("root") ||
- (LEVELS[j] != null)) {
- out.write("<input type='radio' name='");
- if ("".equals(wrapper.name)) {
- out.write("root");
- } else {
- out.write(wrapper.name);
- }
- out.write("' value='");
- if (LEVELS[j] != null) out.write(LEVELS[j].toString());
- else out.write("unset");
- out.write('\'');
- if (LEVELS[j] == wrapper.level()) out.write(" checked");
- out.write('>');
- }
- out.write("</td>\n");
- }
- out.write("<td align=center>");
- if (wrapper.logger != null) {
- out.write(getEffectiveLevel(wrapper.logger).toString());
- }
- out.write("</td></tr>\n");
- }
- out.write("</table>\n");
-
- out.write("<br>\n");
- out.write("<input type='submit' name='submit' value='set' " +
- "class='button'>\n");
- out.write("<input type='submit' name='submit' value='cancel' " +
- "class='button'>\n");
-
- out.write("</form>\n");
-
- out.write("</body></html>\n");
- }
-
-
- @Override
- public void doPost(HttpServletRequest request,
- HttpServletResponse response)
- throws IOException, ServletException {
- if (request.getParameter("submit").equals("set")) {
-
- Map paramMap = request.getParameterMap();
-
- Iterator iParams = paramMap.entrySet().iterator();
- while (iParams.hasNext()) {
- Map.Entry p = (Map.Entry) iParams.next();
- String name = (String) p.getKey();
- String value = ((String[]) p.getValue())[0];
-
- if (name.equals("submit")) continue;
- Logger logger;
- LogManager logManager = LogManager.getLogManager();
- if ("root".equals(name)) {
- logger = logManager.getLogger("");
- } else logger = logManager.getLogger(name);
-
- if ("unset".equals(value)) {
- if ((logger != null) && (logger.getLevel() != null)) {
- logger.setLevel(null);
- log.info("Unset log level on '" + name + "'.");
- }
- } else {
- Level level = Level.parse(value);
- if (logger == null) logger = Logger.getLogger(name);
- if (logger.getLevel() != level) {
- logger.setLevel(level);
- log.info("Set '" + name + "' to " +
- level + " level.");
- }
- }
- }
- } else {
- log.fine("Selection form cancelled");
- }
-
- // Redirect back to standard get page.
- response.sendRedirect(request.getRequestURI());
- }
-
-
- private Collection buildWrappers() {
- // Use tree to get sorted results
- SortedSet<LogWrapper> roots = new TreeSet<LogWrapper>();
-
- roots.add(LogWrapper.ROOT);
-
- LogManager logManager = LogManager.getLogManager();
-
- Enumeration<String> loggerNames = logManager.getLoggerNames();
- while (loggerNames.hasMoreElements()) {
- String name = loggerNames.nextElement();
- Logger logger = Logger.getLogger(name);
- LogWrapper wrapper = new LogWrapper(logger);
- roots.remove(wrapper); // Make sure add occurs
- roots.add(wrapper);
-
- while (true) {
- int dot = name.lastIndexOf(".");
- if (dot < 0) break;
- name = name.substring(0, dot);
- roots.add(new LogWrapper(name)); // if not already
- }
- }
-
- return roots;
- }
-
- private Level getEffectiveLevel(Logger logger) {
- Level level = logger.getLevel();
- if (level != null) {
- return level;
- }
- for (Level l : LEVELS) {
- if (l == null) {
- // avoid NPE
- continue;
- }
- if (logger.isLoggable(l)) {
- // return first level loggable
- return l;
- }
- }
- return Level.OFF;
- }
-
- private static class LogWrapper
- implements Comparable {
- public static LogWrapper ROOT =
- new LogWrapper(LogManager.getLogManager().getLogger(""));
-
- public LogWrapper(Logger logger) {
- this.logger = logger;
- this.name = logger.getName();
- }
-
- public LogWrapper(String name) {
- this.name = name;
- }
-
-
- public int compareTo(Object other) {
- if (this.equals(other)) return 0;
- if (this == ROOT) return -1;
- if (other == ROOT) return 1;
-
- return name.compareTo(((LogWrapper) other).name);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- LogWrapper other = (LogWrapper) obj;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- return true;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- return result;
- }
-
- public Level level() {
- if (logger != null) return logger.getLevel();
- return null;
- }
-
- public Logger logger = null;
- public String name;
- }
-
- private static Level[] LEVELS = {
- null, // aka unset
- Level.FINEST,
- Level.FINE,
- Level.CONFIG,
- Level.INFO,
- Level.WARNING,
- Level.SEVERE,
- Level.OFF
- // Level.ALL -- ignore. It is useless.
- };
-
- private Logger log = Logger.getLogger(getClass().getName());
-}
diff --git a/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java b/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java
new file mode 100644
index 0000000..abbfa85
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/servlet/RedirectServlet.java
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.solr.servlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * A Simple redirection servlet to help us deprecate old UI elements
+ */
+public class RedirectServlet extends HttpServlet{
+
+ static final String CONTEXT_KEY = "${context}";
+
+ String destination;
+ int code = HttpServletResponse.SC_MOVED_PERMANENTLY;
+
+ public void init(ServletConfig config) throws ServletException {
+ super.init(config);
+
+ destination = config.getInitParameter("destination");
+ if(destination==null) {
+ throw new ServletException("RedirectServlet missing destination configuration");
+ }
+ if( "false".equals(config.getInitParameter("permanent") )) {
+ code = HttpServletResponse.SC_MOVED_TEMPORARILY;
+ }
+
+ // Replace the context key
+ if(destination.startsWith(CONTEXT_KEY)) {
+ destination = config.getServletContext().getContextPath()
+ +destination.substring(CONTEXT_KEY.length());
+ }
+ }
+
+ public void doGet(HttpServletRequest req, HttpServletResponse res)
+ throws ServletException,IOException {
+
+ res.setStatus(code);
+ res.setHeader("Location", destination);
+ }
+
+ public void doPost(HttpServletRequest req, HttpServletResponse res)
+ throws ServletException,IOException {
+ doGet(req,res);
+ }
+}
\ No newline at end of file
diff --git a/solr/core/src/test/org/apache/solr/TestDistributedSearch.java b/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
index a8022b5..0b9f3a9 100755
--- a/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
+++ b/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
@@ -358,7 +358,9 @@
// Thread.sleep(10000000000L);
}
- protected void queryPartialResults(final List<String> upShards, List<SolrServer> upClients, Object... q) throws Exception {
+ protected void queryPartialResults(final List<String> upShards,
+ final List<SolrServer> upClients,
+ Object... q) throws Exception {
final ModifiableSolrParams params = new ModifiableSolrParams();
@@ -385,8 +387,8 @@
@Override
public void run() {
for (int j = 0; j < stress; j++) {
- int which = r.nextInt(clients.size());
- SolrServer client = clients.get(which);
+ int which = r.nextInt(upClients.size());
+ SolrServer client = upClients.get(which);
try {
QueryResponse rsp = client.query(new ModifiableSolrParams(params));
if (verifyStress) {
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index 72888e3..9a90172 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -93,7 +93,7 @@
public void close(){
try {
- deleteNode(ZkStateReader.LIVE_NODES_ZKNODE + "/" + "node1");
+ deleteNode(ZkStateReader.LIVE_NODES_ZKNODE + "/" + nodeName);
zkClient.close();
} catch (InterruptedException e) {
//e.printStackTrace();
@@ -127,7 +127,7 @@
ZkStateReader.toJSON(coreStates.values().toArray(
new CoreState[coreStates.size()])), true);
- for (int i = 0; i < 10; i++) {
+ for (int i = 0; i < 30; i++) {
String shardId = getShardId(coreName);
if (shardId != null) {
try {
@@ -154,9 +154,9 @@
collection);
if (slices != null) {
for (Slice slice : slices.values()) {
- if (slice.getShards().containsKey(nodeName + "_" + coreName))
- ;
- return slice.getName();
+ if (slice.getShards().containsKey(nodeName + "_" + coreName)) {
+ return slice.getName();
+ }
}
}
return null;
diff --git a/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java b/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java
index 09ca9fc..0578d40 100755
--- a/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java
+++ b/solr/core/src/test/org/apache/solr/core/AlternateDirectoryTest.java
@@ -61,7 +61,7 @@
static volatile boolean newReaderCalled = false;
@Override
- public DirectoryReader newReader(Directory indexDir) throws IOException {
+ public DirectoryReader newReader(Directory indexDir, SolrCore core) throws IOException {
TestIndexReaderFactory.newReaderCalled = true;
return DirectoryReader.open(indexDir);
}
diff --git a/solr/example/solr/conf/solrconfig.xml b/solr/example/solr/conf/solrconfig.xml
index 669233d..3a5a4b2 100755
--- a/solr/example/solr/conf/solrconfig.xml
+++ b/solr/example/solr/conf/solrconfig.xml
@@ -933,7 +933,7 @@
<!-- JSON Update Request Handler
http://wiki.apache.org/solr/UpdateJSON
-->
- <requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler" startup="lazy">
+ <requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler">
<lst name="defaults">
<str name="wt">json</str>
<str name="indent">true</str>
diff --git a/solr/example/solr/conf/velocity/head.vm b/solr/example/solr/conf/velocity/head.vm
index 8efdc56..d240868 100644
--- a/solr/example/solr/conf/velocity/head.vm
+++ b/solr/example/solr/conf/velocity/head.vm
@@ -3,7 +3,7 @@
<title>#param('title')</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
- <script type="text/javascript" src="#{url_for_solr}/js/lib/jquery-1.4.3.min.js"></script>
+ <script type="text/javascript" src="#{url_for_solr}/js/lib/jquery-1.7.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="#{url_for_solr}/admin/file?file=/velocity/main.css&contentType=text/css"/>
<link rel="stylesheet" href="#{url_for_solr}/admin/file?file=/velocity/jquery.autocomplete.css&contentType=text/css" type="text/css" />
<script type="text/javascript" src="#{url_for_solr}/admin/file?file=/velocity/jquery.autocomplete.js&contentType=text/javascript"></script>
diff --git a/solr/lib/jcl-over-slf4j-1.6.1.jar.sha1 b/solr/lib/jcl-over-slf4j-1.6.1.jar.sha1
deleted file mode 100644
index 1a14aea..0000000
--- a/solr/lib/jcl-over-slf4j-1.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-99c61095a14dfc9e47a086068033c286bf236475
diff --git a/solr/lib/jcl-over-slf4j-1.6.4.jar.sha1 b/solr/lib/jcl-over-slf4j-1.6.4.jar.sha1
new file mode 100644
index 0000000..ea8a9fe
--- /dev/null
+++ b/solr/lib/jcl-over-slf4j-1.6.4.jar.sha1
@@ -0,0 +1 @@
+aad8e9df65ebb68e3ba6f269e3312707f7f1065f
diff --git a/solr/lib/log4j-over-slf4j-1.6.1.jar.sha1 b/solr/lib/log4j-over-slf4j-1.6.1.jar.sha1
deleted file mode 100644
index a73e28f..0000000
--- a/solr/lib/log4j-over-slf4j-1.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2083595b098f183da3c0cabf2819eb083a510a9e
diff --git a/solr/lib/log4j-over-slf4j-1.6.4.jar.sha1 b/solr/lib/log4j-over-slf4j-1.6.4.jar.sha1
new file mode 100644
index 0000000..4505442
--- /dev/null
+++ b/solr/lib/log4j-over-slf4j-1.6.4.jar.sha1
@@ -0,0 +1 @@
+ddfe7c1606881837039903db7bee486c1336c15e
diff --git a/solr/lib/slf4j-api-1.6.1.jar.sha1 b/solr/lib/slf4j-api-1.6.1.jar.sha1
deleted file mode 100644
index 80e8179..0000000
--- a/solr/lib/slf4j-api-1.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-6f3b8a24bf970f17289b234284c94f43eb42f0e4
diff --git a/solr/lib/slf4j-api-1.6.4.jar.sha1 b/solr/lib/slf4j-api-1.6.4.jar.sha1
new file mode 100644
index 0000000..f10146b
--- /dev/null
+++ b/solr/lib/slf4j-api-1.6.4.jar.sha1
@@ -0,0 +1 @@
+2396d74b12b905f780ed7966738bb78438e8371a
diff --git a/solr/lib/slf4j-jdk14-1.6.1.jar.sha1 b/solr/lib/slf4j-jdk14-1.6.1.jar.sha1
deleted file mode 100644
index e62d8d4..0000000
--- a/solr/lib/slf4j-jdk14-1.6.1.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-251899d8c17e29ed4c53d98c88e54241a14d9591
diff --git a/solr/lib/slf4j-jdk14-1.6.4.jar.sha1 b/solr/lib/slf4j-jdk14-1.6.4.jar.sha1
new file mode 100644
index 0000000..e515293
--- /dev/null
+++ b/solr/lib/slf4j-jdk14-1.6.4.jar.sha1
@@ -0,0 +1 @@
+6b32bc7c42b2509525ce812cb49bf96e7bf64141
diff --git a/solr/solrj/ivy.xml b/solr/solrj/ivy.xml
index 9e6eb19..45fe91b 100644
--- a/solr/solrj/ivy.xml
+++ b/solr/solrj/ivy.xml
@@ -21,15 +21,15 @@
<dependencies>
<dependency org="org.apache.zookeeper" name="zookeeper" rev="3.3.4" transitive="false"/>
- <dependency org="org.slf4j" name="log4j-over-slf4j" rev="1.6.1" transitive="false"/>
+ <dependency org="org.slf4j" name="log4j-over-slf4j" rev="1.6.4" transitive="false"/>
<dependency org="org.apache.httpcomponents" name="httpcore" rev="4.1.4" transitive="false"/>
<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.1.3" transitive="false"/>
<dependency org="org.apache.httpcomponents" name="httpmime" rev="4.1.3" transitive="false"/>
<dependency org="commons-io" name="commons-io" rev="2.1" transitive="false"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" transitive="false"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.4" transitive="false"/>
<dependency org="org.codehaus.woodstox" name="wstx-asl" rev="3.2.7" transitive="false"/>
- <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" transitive="false"/>
- <dependency org="org.slf4j" name="slf4j-jdk14" rev="1.6.1" transitive="false"/>
+ <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" transitive="false"/>
+ <dependency org="org.slf4j" name="slf4j-jdk14" rev="1.6.4" transitive="false"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
</ivy-module>
diff --git a/solr/webapp/web/WEB-INF/web.xml b/solr/webapp/web/WEB-INF/web.xml
index 76ca640..fe96fd7 100644
--- a/solr/webapp/web/WEB-INF/web.xml
+++ b/solr/webapp/web/WEB-INF/web.xml
@@ -84,11 +84,6 @@
</filter-mapping>
<servlet>
- <servlet-name>Logging</servlet-name>
- <servlet-class>org.apache.solr.servlet.LogLevelSelection</servlet-class>
- </servlet>
-
- <servlet>
<servlet-name>Zookeeper</servlet-name>
<servlet-class>org.apache.solr.servlet.ZookeeperInfoServlet</servlet-class>
</servlet>
@@ -97,13 +92,54 @@
<servlet-name>LoadAdminUI</servlet-name>
<servlet-class>org.apache.solr.servlet.LoadAdminUiServlet</servlet-class>
</servlet>
-
- <!-- Will be removed before 4.0 release! -->
+
+ <!-- Remove in Solr 5.0 -->
+ <!-- This sends SC_MOVED_PERMANENTLY (301) for resources that changed in 4.0 -->
+ <servlet>
+ <servlet-name>RedirectOldAdminUI</servlet-name>
+ <servlet-class>org.apache.solr.servlet.RedirectServlet</servlet-class>
+ <init-param>
+ <param-name>destination</param-name>
+ <param-value>${context}/#/</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RedirectOldZookeeper</servlet-name>
+ <servlet-class>org.apache.solr.servlet.RedirectServlet</servlet-class>
+ <init-param>
+ <param-name>destination</param-name>
+ <param-value>${context}/zookeeper</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet>
+ <servlet-name>RedirectLogging</servlet-name>
+ <servlet-class>org.apache.solr.servlet.RedirectServlet</servlet-class>
+ <init-param>
+ <param-name>destination</param-name>
+ <param-value>${context}/#/~logging</param-value>
+ </init-param>
+ </servlet>
+
<servlet-mapping>
- <servlet-name>Logging</servlet-name>
+ <servlet-name>RedirectOldAdminUI</servlet-name>
+ <url-pattern>/admin/</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RedirectOldAdminUI</servlet-name>
+ <url-pattern>/admin</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RedirectOldZookeeper</servlet-name>
+ <url-pattern>/zookeeper.jsp</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>RedirectLogging</servlet-name>
<url-pattern>/logging</url-pattern>
</servlet-mapping>
-
+
+ <!-- Servlet Mapping -->
<servlet-mapping>
<servlet-name>Zookeeper</servlet-name>
<url-pattern>/zookeeper</url-pattern>
@@ -113,7 +149,7 @@
<servlet-name>LoadAdminUI</servlet-name>
<url-pattern>/admin.html</url-pattern>
</servlet-mapping>
-
+
<mime-mapping>
<extension>.xsl</extension>
<!-- per http://www.w3.org/TR/2006/PR-xslt20-20061121/ -->
diff --git a/solr/webapp/web/js/lib/jquery-1.4.3.min.js b/solr/webapp/web/js/lib/jquery-1.7.2.min.js
similarity index 100%
rename from solr/webapp/web/js/lib/jquery-1.4.3.min.js
rename to solr/webapp/web/js/lib/jquery-1.7.2.min.js