You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/10/22 07:44:21 UTC
svn commit: r1633538 [3/5] - in /lucene/dev/branches/lucene5969: ./ lucene/
lucene/analysis/ lucene/analysis/common/ lucene/analysis/icu/
lucene/analysis/kuromoji/ lucene/analysis/morfologik/
lucene/analysis/phonetic/ lucene/analysis/smartcn/ lucene/an...
Modified: lucene/dev/branches/lucene5969/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java (original)
+++ lucene/dev/branches/lucene5969/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java Wed Oct 22 05:44:17 2014
@@ -19,6 +19,8 @@ package org.apache.lucene.queries.functi
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
+import java.io.IOException;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
@@ -31,9 +33,12 @@ import org.apache.lucene.document.Numeri
import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.Term;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.queries.function.docvalues.FloatDocValues;
import org.apache.lucene.queries.function.valuesource.BytesRefFieldSource;
import org.apache.lucene.queries.function.valuesource.ConstValueSource;
import org.apache.lucene.queries.function.valuesource.DivFloatFunction;
@@ -51,6 +56,7 @@ import org.apache.lucene.queries.functio
import org.apache.lucene.queries.function.valuesource.MaxDocValueSource;
import org.apache.lucene.queries.function.valuesource.MaxFloatFunction;
import org.apache.lucene.queries.function.valuesource.MinFloatFunction;
+import org.apache.lucene.queries.function.valuesource.MultiFloatFunction;
import org.apache.lucene.queries.function.valuesource.NormValueSource;
import org.apache.lucene.queries.function.valuesource.NumDocsValueSource;
import org.apache.lucene.queries.function.valuesource.PowFloatFunction;
@@ -71,6 +77,7 @@ import org.apache.lucene.search.ScoreDoc
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.similarities.DefaultSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.store.Directory;
@@ -88,6 +95,11 @@ public class TestValueSources extends Lu
static IndexReader reader;
static IndexSearcher searcher;
+ static final ValueSource BOGUS_FLOAT_VS = new FloatFieldSource("bogus_field");
+ static final ValueSource BOGUS_DOUBLE_VS = new DoubleFieldSource("bogus_field");
+ static final ValueSource BOGUS_INT_VS = new IntFieldSource("bogus_field");
+ static final ValueSource BOGUS_LONG_VS = new LongFieldSource("bogus_field");
+
static final List<String[]> documents = Arrays.asList(new String[][] {
/* id, double, float, int, long, string, text */
new String[] { "0", "3.63", "5.2", "35", "4343", "test", "this is a test test test" },
@@ -160,100 +172,165 @@ public class TestValueSources extends Lu
}
public void testConst() throws Exception {
- assertHits(new FunctionQuery(new ConstValueSource(0.3f)),
- new float[] { 0.3f, 0.3f });
+ ValueSource vs = new ConstValueSource(0.3f);
+ assertHits(new FunctionQuery(vs),
+ new float[] { 0.3f, 0.3f });
+ assertAllExist(vs);
}
public void testDiv() throws Exception {
- assertHits(new FunctionQuery(new DivFloatFunction(
- new ConstValueSource(10f), new ConstValueSource(5f))),
- new float[] { 2f, 2f });
+ ValueSource vs = new DivFloatFunction(new ConstValueSource(10f), new ConstValueSource(5f));
+ assertHits(new FunctionQuery(vs),
+ new float[] { 2f, 2f });
+ assertAllExist(vs);
+ vs = new DivFloatFunction(new ConstValueSource(10f), BOGUS_FLOAT_VS);
+ assertNoneExist(vs);
+ vs = new DivFloatFunction(BOGUS_FLOAT_VS, new ConstValueSource(10f));
+ assertNoneExist(vs);
}
public void testDocFreq() throws Exception {
- assertHits(new FunctionQuery(
- new DocFreqValueSource("bogus", "bogus", "text", new BytesRef("test"))),
- new float[] { 2f, 2f });
+ ValueSource vs = new DocFreqValueSource("bogus", "bogus", "text", new BytesRef("test"));
+ assertHits(new FunctionQuery(vs), new float[] { 2f, 2f });
+ assertAllExist(vs);
}
public void testDoubleConst() throws Exception {
- assertHits(new FunctionQuery(new DoubleConstValueSource(0.3d)),
- new float[] { 0.3f, 0.3f });
+ ValueSource vs = new DoubleConstValueSource(0.3d);
+ assertHits(new FunctionQuery(vs), new float[] { 0.3f, 0.3f });
+ assertAllExist(vs);
}
public void testDouble() throws Exception {
- assertHits(new FunctionQuery(new DoubleFieldSource("double")),
- new float[] { 3.63f, 5.65f });
+ ValueSource vs = new DoubleFieldSource("double");
+ assertHits(new FunctionQuery(vs), new float[] { 3.63f, 5.65f });
+ assertAllExist(vs);
+ assertNoneExist(BOGUS_DOUBLE_VS);
}
public void testFloat() throws Exception {
- assertHits(new FunctionQuery(new FloatFieldSource("float")),
- new float[] { 5.2f, 9.3f });
+ ValueSource vs = new FloatFieldSource("float");
+ assertHits(new FunctionQuery(vs), new float[] { 5.2f, 9.3f });
+ assertAllExist(vs);
+ assertNoneExist(BOGUS_FLOAT_VS);
}
public void testIDF() throws Exception {
Similarity saved = searcher.getSimilarity();
try {
searcher.setSimilarity(new DefaultSimilarity());
- assertHits(new FunctionQuery(
- new IDFValueSource("bogus", "bogus", "text", new BytesRef("test"))),
- new float[] { 0.5945349f, 0.5945349f });
+ ValueSource vs = new IDFValueSource("bogus", "bogus", "text", new BytesRef("test"));
+ assertHits(new FunctionQuery(vs), new float[] { 0.5945349f, 0.5945349f });
+ assertAllExist(vs);
} finally {
searcher.setSimilarity(saved);
}
}
public void testIf() throws Exception {
- assertHits(new FunctionQuery(new IfFunction(
- new BytesRefFieldSource("id"),
- new ConstValueSource(1.0f),
- new ConstValueSource(2.0f)
- )),
- new float[] { 1f, 1f });
- // true just if a value exists...
- assertHits(new FunctionQuery(new IfFunction(
- new LiteralValueSource("false"),
- new ConstValueSource(1.0f),
- new ConstValueSource(2.0f)
- )),
- new float[] { 1f, 1f });
+ ValueSource vs = new IfFunction(new BytesRefFieldSource("id"),
+ new ConstValueSource(1.0f), // match
+ new ConstValueSource(2.0f));
+ assertHits(new FunctionQuery(vs), new float[] { 1f, 1f });
+ assertAllExist(vs);
+
+ // true just if a test value exists...
+ vs = new IfFunction(new LiteralValueSource("false"),
+ new ConstValueSource(1.0f), // match
+ new ConstValueSource(2.0f));
+ assertHits(new FunctionQuery(vs), new float[] { 1f, 1f });
+ assertAllExist(vs);
+
+ // false value if tests value does not exist
+ vs = new IfFunction(BOGUS_FLOAT_VS,
+ new ConstValueSource(1.0f),
+ new ConstValueSource(2.0f)); // match
+ assertHits(new FunctionQuery(vs), new float[] { 2F, 2F });
+ assertAllExist(vs);
+
+ // final value may still not exist
+ vs = new IfFunction(new BytesRefFieldSource("id"),
+ BOGUS_FLOAT_VS, // match
+ new ConstValueSource(1.0f));
+ assertNoneExist(vs);
}
public void testInt() throws Exception {
- assertHits(new FunctionQuery(new IntFieldSource("int")),
- new float[] { 35f, 54f });
+ ValueSource vs = new IntFieldSource("int");
+ assertHits(new FunctionQuery(vs), new float[] { 35f, 54f });
+ assertAllExist(vs);
+ assertNoneExist(BOGUS_INT_VS);
+
}
public void testJoinDocFreq() throws Exception {
- assertHits(new FunctionQuery(new JoinDocFreqValueSource("string", "text")),
- new float[] { 2f, 0f });
+ assertHits(new FunctionQuery(new JoinDocFreqValueSource("string", "text")),
+ new float[] { 2f, 0f });
+
+ // TODO: what *should* the rules be for exist() ?
}
public void testLinearFloat() throws Exception {
- assertHits(new FunctionQuery(new LinearFloatFunction(new ConstValueSource(2.0f), 3, 1)),
- new float[] { 7f, 7f });
+ ValueSource vs = new LinearFloatFunction(new ConstValueSource(2.0f), 3, 1);
+ assertHits(new FunctionQuery(vs), new float[] { 7f, 7f });
+ assertAllExist(vs);
+ vs = new LinearFloatFunction(BOGUS_FLOAT_VS, 3, 1);
+ assertNoneExist(vs);
}
public void testLong() throws Exception {
- assertHits(new FunctionQuery(new LongFieldSource("long")),
- new float[] { 4343f, 1954f });
+ ValueSource vs = new LongFieldSource("long");
+ assertHits(new FunctionQuery(vs), new float[] { 4343f, 1954f });
+ assertAllExist(vs);
+ assertNoneExist(BOGUS_LONG_VS);
}
public void testMaxDoc() throws Exception {
- assertHits(new FunctionQuery(new MaxDocValueSource()),
- new float[] { 2f, 2f });
+ ValueSource vs = new MaxDocValueSource();
+ assertHits(new FunctionQuery(vs), new float[] { 2f, 2f });
+ assertAllExist(vs);
}
public void testMaxFloat() throws Exception {
- assertHits(new FunctionQuery(new MaxFloatFunction(new ValueSource[] {
- new ConstValueSource(1f), new ConstValueSource(2f)})),
- new float[] { 2f, 2f });
+ ValueSource vs = new MaxFloatFunction(new ValueSource[] {
+ new ConstValueSource(1f), new ConstValueSource(2f)});
+
+ assertHits(new FunctionQuery(vs), new float[] { 2f, 2f });
+ assertAllExist(vs);
+
+ // as long as one value exists, then max exists
+ vs = new MaxFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, new ConstValueSource(2F)});
+ assertAllExist(vs);
+ vs = new MaxFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, new ConstValueSource(2F), BOGUS_DOUBLE_VS});
+ assertAllExist(vs);
+ // if none exist, then max doesn't exist
+ vs = new MaxFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, BOGUS_INT_VS, BOGUS_DOUBLE_VS});
+ assertNoneExist(vs);
}
public void testMinFloat() throws Exception {
- assertHits(new FunctionQuery(new MinFloatFunction(new ValueSource[] {
- new ConstValueSource(1f), new ConstValueSource(2f)})),
- new float[] { 1f, 1f });
+ ValueSource vs = new MinFloatFunction(new ValueSource[] {
+ new ConstValueSource(1f), new ConstValueSource(2f)});
+
+ assertHits(new FunctionQuery(vs), new float[] { 1f, 1f });
+ assertAllExist(vs);
+
+ // as long as one value exists, then min exists
+ vs = new MinFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, new ConstValueSource(2F)});
+ assertHits(new FunctionQuery(vs), new float[] { 2F, 2F });
+ assertAllExist(vs);
+ vs = new MinFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, new ConstValueSource(2F), BOGUS_DOUBLE_VS});
+ assertAllExist(vs);
+
+ // if none exist, then min doesn't exist
+ vs = new MinFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, BOGUS_INT_VS, BOGUS_DOUBLE_VS});
+ assertNoneExist(vs);
}
public void testNorm() throws Exception {
@@ -261,35 +338,95 @@ public class TestValueSources extends Lu
try {
// no norm field (so agnostic to indexed similarity)
searcher.setSimilarity(new DefaultSimilarity());
- assertHits(new FunctionQuery(
- new NormValueSource("byte")),
- new float[] { 0f, 0f });
+ ValueSource vs = new NormValueSource("byte");
+ assertHits(new FunctionQuery(vs), new float[] { 0f, 0f });
+
+ // regardless of wether norms exist, value source exists == 0
+ assertAllExist(vs);
+
+ vs = new NormValueSource("text");
+ assertAllExist(vs);
+
} finally {
searcher.setSimilarity(saved);
}
}
public void testNumDocs() throws Exception {
- assertHits(new FunctionQuery(new NumDocsValueSource()),
- new float[] { 2f, 2f });
+ ValueSource vs = new NumDocsValueSource();
+ assertHits(new FunctionQuery(vs), new float[] { 2f, 2f });
+ assertAllExist(vs);
}
public void testPow() throws Exception {
- assertHits(new FunctionQuery(new PowFloatFunction(
- new ConstValueSource(2f), new ConstValueSource(3f))),
- new float[] { 8f, 8f });
+ ValueSource vs = new PowFloatFunction(new ConstValueSource(2f), new ConstValueSource(3f));
+ assertHits(new FunctionQuery(vs), new float[] { 8f, 8f });
+ assertAllExist(vs);
+ vs = new PowFloatFunction(BOGUS_FLOAT_VS, new ConstValueSource(3f));
+ assertNoneExist(vs);
+ vs = new PowFloatFunction(new ConstValueSource(3f), BOGUS_FLOAT_VS);
+ assertNoneExist(vs);
}
public void testProduct() throws Exception {
- assertHits(new FunctionQuery(new ProductFloatFunction(new ValueSource[] {
- new ConstValueSource(2f), new ConstValueSource(3f)})),
- new float[] { 6f, 6f });
+ ValueSource vs = new ProductFloatFunction(new ValueSource[] {
+ new ConstValueSource(2f), new ConstValueSource(3f)});
+ assertHits(new FunctionQuery(vs), new float[] { 6f, 6f });
+ assertAllExist(vs);
+
+ vs = new ProductFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, new ConstValueSource(3f)});
+ assertNoneExist(vs);
}
+ public void testQueryWrapedFuncWrapedQuery() throws Exception {
+ ValueSource vs = new QueryValueSource(new FunctionQuery(new ConstValueSource(2f)), 0f);
+ assertHits(new FunctionQuery(vs), new float[] { 2f, 2f });
+ assertAllExist(vs);
+ }
+
public void testQuery() throws Exception {
- assertHits(new FunctionQuery(new QueryValueSource(
- new FunctionQuery(new ConstValueSource(2f)), 0f)),
- new float[] { 2f, 2f });
+ Similarity saved = searcher.getSimilarity();
+
+ try {
+ searcher.setSimilarity(new DefaultSimilarity());
+
+ ValueSource vs = new QueryValueSource(new TermQuery(new Term("string","bar")), 42F);
+ assertHits(new FunctionQuery(vs), new float[] { 42F, 1F });
+
+ // valuesource should exist only for things matching the term query
+ // sanity check via quick & dirty wrapper arround tf
+ ValueSource expected = new MultiFloatFunction(new ValueSource[] {
+ new TFValueSource("bogus", "bogus", "string", new BytesRef("bar"))}) {
+
+ @Override
+ protected String name() { return "tf_based_exists"; }
+
+ @Override
+ protected float func(int doc, FunctionValues[] valsArr) {
+ return valsArr[0].floatVal(doc);
+ }
+ @Override
+ protected boolean exists(int doc, FunctionValues[] valsArr) {
+ // if tf > 0, then it should exist
+ return 0 < func(doc, valsArr);
+ }
+ };
+
+ assertExists(expected, vs);
+
+
+ // Query matches all docs, func exists for all docs
+ vs = new QueryValueSource(new TermQuery(new Term("text","test")), 0F);
+ assertAllExist(vs);
+
+ // Query matches no docs, func exists for no docs
+ vs = new QueryValueSource(new TermQuery(new Term("bogus","does not exist")), 0F);
+ assertNoneExist(vs);
+
+ } finally {
+ searcher.setSimilarity(saved);
+ }
}
public void testRangeMap() throws Exception {
@@ -300,37 +437,59 @@ public class TestValueSources extends Lu
5, 6, new SumFloatFunction(new ValueSource[] {new ConstValueSource(1f), new ConstValueSource(2f)}),
new ConstValueSource(11f))),
new float[] { 3f, 11f });
+
+ // TODO: what *should* the rules be for exist() ?
+ // ((source exists && source in range && target exists) OR (source not in range && default exists)) ?
}
public void testReciprocal() throws Exception {
- assertHits(new FunctionQuery(new ReciprocalFloatFunction(new ConstValueSource(2f),
- 3, 1, 4)),
- new float[] { 0.1f, 0.1f });
+ ValueSource vs = new ReciprocalFloatFunction(new ConstValueSource(2f), 3, 1, 4);
+ assertHits(new FunctionQuery(vs), new float[] { 0.1f, 0.1f });
+ assertAllExist(vs);
+
+ vs = new ReciprocalFloatFunction(BOGUS_FLOAT_VS, 3, 1, 4);
+ assertNoneExist(vs);
}
public void testScale() throws Exception {
- assertHits(new FunctionQuery(new ScaleFloatFunction(new IntFieldSource("int"), 0, 1)),
- new float[] { 0.0f, 1.0f });
+ ValueSource vs = new ScaleFloatFunction(new IntFieldSource("int"), 0, 1);
+ assertHits(new FunctionQuery(vs), new float[] { 0.0f, 1.0f });
+ assertAllExist(vs);
+
+ vs = new ScaleFloatFunction(BOGUS_INT_VS, 0, 1);
+ assertNoneExist(vs);
}
public void testSumFloat() throws Exception {
- assertHits(new FunctionQuery(new SumFloatFunction(new ValueSource[] {
- new ConstValueSource(1f), new ConstValueSource(2f)})),
- new float[] { 3f, 3f });
+ ValueSource vs = new SumFloatFunction(new ValueSource[] {
+ new ConstValueSource(1f), new ConstValueSource(2f)});
+ assertHits(new FunctionQuery(vs), new float[] { 3f, 3f });
+ assertAllExist(vs);
+
+ vs = new SumFloatFunction(new ValueSource[] {
+ BOGUS_FLOAT_VS, new ConstValueSource(2f)});
+ assertNoneExist(vs);
}
public void testSumTotalTermFreq() throws Exception {
- assertHits(new FunctionQuery(new SumTotalTermFreqValueSource("text")),
- new float[] { 8f, 8f });
+ ValueSource vs = new SumTotalTermFreqValueSource("text");
+ assertHits(new FunctionQuery(vs), new float[] { 8f, 8f });
+ assertAllExist(vs);
}
public void testTermFreq() throws Exception {
- assertHits(new FunctionQuery(
- new TermFreqValueSource("bogus", "bogus", "text", new BytesRef("test"))),
- new float[] { 3f, 1f });
- assertHits(new FunctionQuery(
- new TermFreqValueSource("bogus", "bogus", "string", new BytesRef("bar"))),
- new float[] { 0f, 1f });
+ ValueSource vs = new TermFreqValueSource("bogus", "bogus", "text", new BytesRef("test"));
+ assertHits(new FunctionQuery(vs), new float[] { 3f, 1f });
+ assertAllExist(vs);
+
+ vs = new TermFreqValueSource("bogus", "bogus", "string", new BytesRef("bar"));
+ assertHits(new FunctionQuery(vs), new float[] { 0f, 1f });
+ assertAllExist(vs);
+
+ // regardless of wether norms exist, value source exists == 0
+ vs = new TermFreqValueSource("bogus", "bogus", "bogus", new BytesRef("bogus"));
+ assertHits(new FunctionQuery(vs), new float[] { 0F, 0F });
+ assertAllExist(vs);
}
public void testTF() throws Exception {
@@ -338,23 +497,71 @@ public class TestValueSources extends Lu
try {
// no norm field (so agnostic to indexed similarity)
searcher.setSimilarity(new DefaultSimilarity());
- assertHits(new FunctionQuery(
- new TFValueSource("bogus", "bogus", "text", new BytesRef("test"))),
- new float[] { (float)Math.sqrt(3d), (float)Math.sqrt(1d) });
- assertHits(new FunctionQuery(
- new TFValueSource("bogus", "bogus", "string", new BytesRef("bar"))),
- new float[] { 0f, 1f });
+
+ ValueSource vs = new TFValueSource("bogus", "bogus", "text", new BytesRef("test"));
+ assertHits(new FunctionQuery(vs),
+ new float[] { (float)Math.sqrt(3d), (float)Math.sqrt(1d) });
+ assertAllExist(vs);
+
+ vs = new TFValueSource("bogus", "bogus", "string", new BytesRef("bar"));
+ assertHits(new FunctionQuery(vs), new float[] { 0f, 1f });
+ assertAllExist(vs);
+
+ // regardless of wether norms exist, value source exists == 0
+ vs = new TFValueSource("bogus", "bogus", "bogus", new BytesRef("bogus"));
+ assertHits(new FunctionQuery(vs), new float[] { 0F, 0F });
+ assertAllExist(vs);
+
} finally {
searcher.setSimilarity(saved);
}
}
public void testTotalTermFreq() throws Exception {
- assertHits(new FunctionQuery(
- new TotalTermFreqValueSource("bogus", "bogus", "text", new BytesRef("test"))),
- new float[] { 4f, 4f });
+ ValueSource vs = new TotalTermFreqValueSource("bogus", "bogus", "text", new BytesRef("test"));
+ assertHits(new FunctionQuery(vs), new float[] { 4f, 4f });
+ assertAllExist(vs);
+ }
+
+ /**
+ * Asserts that for every doc, the {@link FunctionValues#exists} value
+ * from the {@link ValueSource} is <b>true</b>.
+ */
+ void assertAllExist(ValueSource vs) {
+ assertExists(ALL_EXIST_VS, vs);
+ }
+ /**
+ * Asserts that for every doc, the {@link FunctionValues#exists} value
+ * from the {@link ValueSource} is <b>false</b>.
+ */
+ void assertNoneExist(ValueSource vs) {
+ assertExists(NONE_EXIST_VS, vs);
+ }
+ /**
+ * Asserts that for every doc, the {@link FunctionValues#exists} value from the
+ * <code>actual</code> {@link ValueSource} matches the {@link FunctionValues#exists}
+ * value from the <code>expected</code> {@link ValueSource}
+ */
+ void assertExists(ValueSource expected, ValueSource actual) {
+ Map context = ValueSource.newContext(searcher);
+ try {
+ expected.createWeight(context, searcher);
+ actual.createWeight(context, searcher);
+
+ for (org.apache.lucene.index.LeafReaderContext leaf : searcher.getIndexReader().leaves()) {
+ final FunctionValues expectedVals = expected.getValues(context, leaf);
+ final FunctionValues actualVals = actual.getValues(context, leaf);
+
+ String msg = expected.toString() + " ?= " + actual.toString() + " -> ";
+ for (int i = 0; i < leaf.reader().maxDoc(); ++i) {
+ assertEquals(msg + i, expectedVals.exists(i), actualVals.exists(i));
+ }
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(actual.toString(), e);
+ }
}
-
+
void assertHits(Query q, float scores[]) throws Exception {
ScoreDoc expected[] = new ScoreDoc[scores.length];
int expectedDocs[] = new int[scores.length];
@@ -368,4 +575,54 @@ public class TestValueSources extends Lu
CheckHits.checkHitsQuery(q, expected, docs.scoreDocs, expectedDocs);
CheckHits.checkExplanations(q, "", searcher);
}
+
+ /**
+ * Simple test value source that implements {@link FunctionValues#exists} as a constant
+ * @see #ALL_EXIST_VS
+ * @see #NONE_EXIST_VS
+ */
+ private static final class ExistsValueSource extends ValueSource {
+
+ final boolean expected;
+ final int value;
+
+ public ExistsValueSource(boolean expected) {
+ this.expected = expected;
+ this.value = expected ? 1 : 0;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return o == this;
+ }
+
+ @Override
+ public int hashCode() {
+ return value;
+ }
+
+ @Override
+ public String description() {
+ return expected ? "ALL_EXIST" : "NONE_EXIST";
+ }
+
+ @Override
+ public FunctionValues getValues(Map context, LeafReaderContext readerContext) {
+ return new FloatDocValues(this) {
+ @Override
+ public float floatVal(int doc) {
+ return (float)value;
+ }
+ @Override
+ public boolean exists(int doc) {
+ return expected;
+ }
+ };
+ }
+ };
+
+ /** @see ExistsValueSource */
+ private static final ValueSource ALL_EXIST_VS = new ExistsValueSource(true);
+ /** @see ExistsValueSource */
+ private static final ValueSource NONE_EXIST_VS = new ExistsValueSource(false);
}
Modified: lucene/dev/branches/lucene5969/lucene/queryparser/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/queryparser/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/queryparser/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/queryparser/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,5 +17,5 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.lucene" module="queryparser"/>
+ <info organisation="org.apache.lucene" module="queryparser"/>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java (original)
+++ lucene/dev/branches/lucene5969/lucene/queryparser/src/test/org/apache/lucene/queryparser/analyzing/TestAnalyzingQueryParser.java Wed Oct 22 05:44:17 2014
@@ -34,6 +34,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
@@ -272,7 +273,7 @@ public class TestAnalyzingQueryParser ex
RandomIndexWriter writer = new RandomIndexWriter(random(), ramDir, analyzer);
Document doc = new Document();
FieldType fieldType = new FieldType();
- fieldType.setIndexed(true);
+ fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
fieldType.setTokenized(true);
fieldType.setStored(true);
Field field = new Field(FIELD, content, fieldType);
@@ -292,4 +293,4 @@ public class TestAnalyzingQueryParser ex
}
}
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/lucene5969/lucene/replicator/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/replicator/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/replicator/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/replicator/ivy.xml Wed Oct 22 05:44:17 2014
@@ -19,27 +19,31 @@
<ivy-module version="2.0">
<info organisation="org.apache.lucene" module="replicator"/>
- <configurations>
- <conf name="http" description="httpclient jars"/>
- <conf name="jetty" description="jetty jars"/>
- <conf name="start" description="jetty start jar"/>
- <conf name="servlet" description="servlet-api jar"/>
- <conf name="logging" description="logging setup"/>
+ <configurations defaultconfmapping="http->master;jetty->master;start->master;servlet->master;logging->master">
+ <conf name="http" description="httpclient jars" transitive="false"/>
+ <conf name="jetty" description="jetty jars" transitive="false"/>
+ <conf name="start" description="jetty start jar" transitive="false"/>
+ <conf name="servlet" description="servlet-api jar" transitive="false"/>
+ <conf name="logging" description="logging setup" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="org.apache.httpcomponents" name="httpclient" rev="${/org.apache.httpcomponents/httpclient}" transitive="false" conf="http->default"/>
- <dependency org="org.apache.httpcomponents" name="httpcore" rev="${/org.apache.httpcomponents/httpcore}" transitive="false" conf="http->default"/>
- <dependency org="org.eclipse.jetty" name="jetty-server" rev="${/org.eclipse.jetty/jetty-server}" transitive="false" conf="jetty->default"/>
- <dependency org="org.eclipse.jetty" name="jetty-servlet" rev="${/org.eclipse.jetty/jetty-servlet}" transitive="false" conf="jetty->default"/>
- <dependency org="org.eclipse.jetty" name="jetty-util" rev="${/org.eclipse.jetty/jetty-util}" transitive="false" conf="jetty->default"/>
- <dependency org="org.eclipse.jetty" name="jetty-io" rev="${/org.eclipse.jetty/jetty-io}" transitive="false" conf="jetty->default"/>
- <dependency org="org.eclipse.jetty" name="jetty-continuation" rev="${/org.eclipse.jetty/jetty-continuation}" transitive="false" conf="jetty->default"/>
- <dependency org="org.eclipse.jetty" name="jetty-http" rev="${/org.eclipse.jetty/jetty-http}" transitive="false" conf="jetty->default"/>
- <dependency org="commons-logging" name="commons-logging" rev="${/commons-logging/commons-logging}" transitive="false" conf="logging->default"/>
- <dependency org="org.eclipse.jetty.orbit" name="javax.servlet" rev="${/org.eclipse.jetty.orbit/javax.servlet}" transitive="false" conf="servlet->default">
+ <dependency org="org.apache.httpcomponents" name="httpclient" rev="${/org.apache.httpcomponents/httpclient}" conf="http"/>
+ <dependency org="org.apache.httpcomponents" name="httpcore" rev="${/org.apache.httpcomponents/httpcore}" conf="http"/>
+
+ <dependency org="org.eclipse.jetty" name="jetty-server" rev="${/org.eclipse.jetty/jetty-server}" conf="jetty"/>
+ <dependency org="org.eclipse.jetty" name="jetty-servlet" rev="${/org.eclipse.jetty/jetty-servlet}" conf="jetty"/>
+ <dependency org="org.eclipse.jetty" name="jetty-util" rev="${/org.eclipse.jetty/jetty-util}" conf="jetty"/>
+ <dependency org="org.eclipse.jetty" name="jetty-io" rev="${/org.eclipse.jetty/jetty-io}" conf="jetty"/>
+ <dependency org="org.eclipse.jetty" name="jetty-continuation" rev="${/org.eclipse.jetty/jetty-continuation}" conf="jetty"/>
+ <dependency org="org.eclipse.jetty" name="jetty-http" rev="${/org.eclipse.jetty/jetty-http}" conf="jetty"/>
+
+ <dependency org="commons-logging" name="commons-logging" rev="${/commons-logging/commons-logging}" conf="logging"/>
+
+ <dependency org="org.eclipse.jetty.orbit" name="javax.servlet" rev="${/org.eclipse.jetty.orbit/javax.servlet}" conf="servlet">
<artifact name="javax.servlet" type="orbit" ext="jar"/>
</dependency>
+
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
Modified: lucene/dev/branches/lucene5969/lucene/sandbox/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/sandbox/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/sandbox/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/sandbox/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,9 +17,12 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.lucene" module="sandbox"/>
- <dependencies>
- <dependency org="jakarta-regexp" name="jakarta-regexp" rev="${/jakarta-regexp/jakarta-regexp}" transitive="false"/>
- <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
- </dependencies>
+ <info organisation="org.apache.lucene" module="sandbox"/>
+ <configurations defaultconfmapping="compile->master">
+ <conf name="compile" transitive="false"/>
+ </configurations>
+ <dependencies>
+ <dependency org="jakarta-regexp" name="jakarta-regexp" rev="${/jakarta-regexp/jakarta-regexp}" conf="compile"/>
+ <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
+ </dependencies>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java (original)
+++ lucene/dev/branches/lucene5969/lucene/sandbox/src/test/org/apache/lucene/codecs/idversion/StringAndPayloadField.java Wed Oct 22 05:44:17 2014
@@ -36,7 +36,6 @@ class StringAndPayloadField extends Fiel
public static final FieldType TYPE = new FieldType();
static {
- TYPE.setIndexed(true);
TYPE.setOmitNorms(true);
TYPE.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
TYPE.setTokenized(true);
Modified: lucene/dev/branches/lucene5969/lucene/spatial/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/spatial/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/spatial/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/spatial/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,9 +17,12 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.lucene" module="spatial"/>
- <dependencies>
- <dependency org="com.spatial4j" name="spatial4j" rev="${/com.spatial4j/spatial4j}" transitive="false"/>
- <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
- </dependencies>
+ <info organisation="org.apache.lucene" module="spatial"/>
+ <configurations defaultconfmapping="compile->master">
+ <conf name="compile" transitive="false"/>
+ </configurations>
+ <dependencies>
+ <dependency org="com.spatial4j" name="spatial4j" rev="${/com.spatial4j/spatial4j}" conf="compile"/>
+ <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
+ </dependencies>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java (original)
+++ lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/bbox/BBoxStrategy.java Wed Oct 22 05:44:17 2014
@@ -130,7 +130,7 @@ public class BBoxStrategy extends Spatia
//for xdlFieldType, copy some similar options. Don't do docValues since it isn't needed here.
xdlFieldType = new FieldType(StringField.TYPE_NOT_STORED);
xdlFieldType.setStored(fieldType.stored());
- xdlFieldType.setIndexed(fieldType.indexed());
+ xdlFieldType.setIndexOptions(fieldType.indexOptions());
xdlFieldType.freeze();
}
Modified: lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java (original)
+++ lucene/dev/branches/lucene5969/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java Wed Oct 22 05:44:17 2014
@@ -142,7 +142,6 @@ public abstract class PrefixTreeStrategy
public static final FieldType FIELD_TYPE = new FieldType();
static {
- FIELD_TYPE.setIndexed(true);
FIELD_TYPE.setTokenized(true);
FIELD_TYPE.setOmitNorms(true);
FIELD_TYPE.setIndexOptions(FieldInfo.IndexOptions.DOCS_ONLY);
Modified: lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java (original)
+++ lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/DistanceStrategyTest.java Wed Oct 22 05:44:17 2014
@@ -96,7 +96,7 @@ public class DistanceStrategyTest extend
if (strategy instanceof BBoxStrategy && random().nextBoolean()) {//disable indexing sometimes
BBoxStrategy bboxStrategy = (BBoxStrategy)strategy;
final FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
- fieldType.setIndexed(false);
+ fieldType.setIndexOptions(null);
bboxStrategy.setFieldType(fieldType);
}
}
Modified: lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java (original)
+++ lucene/dev/branches/lucene5969/lucene/spatial/src/test/org/apache/lucene/spatial/bbox/TestBBoxStrategy.java Wed Oct 22 05:44:17 2014
@@ -292,7 +292,7 @@ public class TestBBoxStrategy extends Ra
BBoxStrategy bboxStrategy = (BBoxStrategy) strategy;
if (random().nextBoolean()) {
FieldType fieldType = new FieldType(bboxStrategy.getFieldType());
- fieldType.setIndexed(false);
+ fieldType.setIndexOptions(null);
bboxStrategy.setFieldType(fieldType);
}
Modified: lucene/dev/branches/lucene5969/lucene/suggest/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/suggest/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/suggest/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/suggest/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,5 +17,5 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.lucene" module="suggest"/>
+ <info organisation="org.apache.lucene" module="suggest"/>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,24 +17,24 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.lucene" module="core-test-framework"/>
+ <info organisation="org.apache.lucene" module="core-test-framework"/>
- <configurations>
- <conf name="default" />
- <!--
- JUnit4 ANT task only, no ANT.
- This is used from build scripts for taskdefs.
- -->
- <conf name="junit4-stdalone" />
- </configurations>
+ <configurations defaultconfmapping="compile->master;junit4-stdalone->master">
+ <conf name="compile" transitive="false"/>
+ <!--
+ JUnit4 ANT task only, no ANT.
+ This is used from build scripts for taskdefs.
+ -->
+ <conf name="junit4-stdalone" />
+ </configurations>
- <dependencies defaultconf="default">
- <dependency org="org.apache.ant" name="ant" rev="${/org.apache.ant/ant}" transitive="false" />
+ <dependencies>
+ <dependency org="org.apache.ant" name="ant" rev="${/org.apache.ant/ant}" conf="compile"/>
- <dependency org="junit" name="junit" rev="${/junit/junit}" transitive="false" conf="default->*;junit4-stdalone->*" />
- <dependency org="com.carrotsearch.randomizedtesting" name="junit4-ant" rev="${/com.carrotsearch.randomizedtesting/junit4-ant}" transitive="false" conf="default->*;junit4-stdalone->*" />
- <dependency org="com.carrotsearch.randomizedtesting" name="randomizedtesting-runner" rev="${/com.carrotsearch.randomizedtesting/randomizedtesting-runner}" transitive="false" conf="default->*;junit4-stdalone->*" />
+ <dependency org="junit" name="junit" rev="${/junit/junit}" transitive="false" conf="compile,junit4-stdalone"/>
+ <dependency org="com.carrotsearch.randomizedtesting" name="junit4-ant" rev="${/com.carrotsearch.randomizedtesting/junit4-ant}" transitive="false" conf="compile,junit4-stdalone"/>
+ <dependency org="com.carrotsearch.randomizedtesting" name="randomizedtesting-runner" rev="${/com.carrotsearch.randomizedtesting/randomizedtesting-runner}" transitive="false" conf="compile,junit4-stdalone"/>
- <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
- </dependencies>
+ <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
+ </dependencies>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseFieldInfoFormatTestCase.java Wed Oct 22 05:44:17 2014
@@ -84,7 +84,7 @@ public abstract class BaseFieldInfoForma
for (String field : fieldNames) {
IndexableFieldType fieldType = randomFieldType(random());
FieldInfo fi = builder.addOrUpdate(field, fieldType);
- if (fieldType.indexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0) {
+ if (fieldType.indexOptions() != null && fieldType.indexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0) {
if (random().nextBoolean()) {
fi.setStorePayloads();
}
@@ -101,8 +101,7 @@ public abstract class BaseFieldInfoForma
private final IndexableFieldType randomFieldType(Random r) {
FieldType type = new FieldType();
- type.setIndexed(r.nextBoolean());
- if (type.indexed()) {
+ if (r.nextBoolean()) {
IndexOptions values[] = IndexOptions.values();
type.setIndexOptions(values[r.nextInt(values.length)]);
type.setOmitNorms(r.nextBoolean());
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java Wed Oct 22 05:44:17 2014
@@ -370,7 +370,7 @@ public abstract class BasePostingsFormat
continue;
}
- fieldInfoArray[fieldUpto] = new FieldInfo(field, true, fieldUpto, false, false, true,
+ fieldInfoArray[fieldUpto] = new FieldInfo(field, fieldUpto, false, false, true,
IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS,
null, -1, null);
fieldUpto++;
@@ -694,7 +694,6 @@ public abstract class BasePostingsFormat
boolean doPayloads = indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) >= 0 && allowPayloads;
newFieldInfoArray[fieldUpto] = new FieldInfo(oldFieldInfo.name,
- true,
fieldUpto,
false,
false,
@@ -1739,7 +1738,6 @@ public abstract class BasePostingsFormat
for (IndexOptions opts : IndexOptions.values()) {
FieldType ft = new FieldType();
ft.setIndexOptions(opts);
- ft.setIndexed(true);
ft.freeze();
final int numFields = random().nextInt(5);
for (int j = 0; j < numFields; ++j) {
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/BaseStoredFieldsFormatTestCase.java Wed Oct 22 05:44:17 2014
@@ -321,8 +321,8 @@ public abstract class BaseStoredFieldsFo
w.addDocument(doc);
IndexReader r = w.getReader();
w.close();
- assertFalse(r.document(0).getField("field").fieldType().indexed());
- assertTrue(r.document(0).getField("field2").fieldType().indexed());
+ assertNull(r.document(0).getField("field").fieldType().indexOptions());
+ assertNotNull(r.document(0).getField("field2").fieldType().indexOptions());
r.close();
dir.close();
}
@@ -516,7 +516,7 @@ public abstract class BaseStoredFieldsFo
}
final FieldType type = new FieldType(StringField.TYPE_STORED);
- type.setIndexed(false);
+ type.setIndexOptions(null);
type.freeze();
IntField id = new IntField("id", 0, Store.YES);
for (int i = 0; i < data.length; ++i) {
@@ -606,7 +606,7 @@ public abstract class BaseStoredFieldsFo
bigDoc2.add(idField);
final FieldType onlyStored = new FieldType(StringField.TYPE_STORED);
- onlyStored.setIndexed(false);
+ onlyStored.setIndexOptions(null);
final Field smallField = new Field("fld", randomByteArray(random().nextInt(10), 256), onlyStored);
final int numFields = RandomInts.randomIntBetween(random(), 500000, 1000000);
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/index/DocHelper.java Wed Oct 22 05:44:17 2014
@@ -204,10 +204,10 @@ class DocHelper {
for (int i=0; i<fields.length; i++) {
IndexableField f = fields[i];
add(all,f);
- if (f.fieldType().indexed()) add(indexed,f);
+ if (f.fieldType().indexOptions() != null) add(indexed,f);
else add(unindexed,f);
if (f.fieldType().storeTermVectors()) add(termvector,f);
- if (f.fieldType().indexed() && !f.fieldType().storeTermVectors()) add(notermvector,f);
+ if (f.fieldType().indexOptions() != null && !f.fieldType().storeTermVectors()) add(notermvector,f);
if (f.fieldType().stored()) add(stored,f);
else add(unstored,f);
if (f.fieldType().indexOptions() == IndexOptions.DOCS_ONLY) add(noTf,f);
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LineFileDocs.java Wed Oct 22 05:44:17 2014
@@ -41,6 +41,7 @@ import org.apache.lucene.document.IntFie
import org.apache.lucene.document.SortedDocValuesField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.FieldInfo.IndexOptions;
/** Minimal port of benchmark's LneDocSource +
* DocMaker, so tests can enum docs from a line file created
@@ -170,6 +171,7 @@ public class LineFileDocs implements Clo
doc.add(title);
FieldType ft = new FieldType(TextField.TYPE_STORED);
+ ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
ft.setStoreTermVectors(true);
ft.setStoreTermVectorOffsets(true);
ft.setStoreTermVectorPositions(true);
Modified: lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/branches/lucene5969/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java Wed Oct 22 05:44:17 2014
@@ -1338,7 +1338,7 @@ public abstract class LuceneTestCase ext
/** Returns a FieldType derived from newType but whose
* term vector options match the old type */
private static FieldType mergeTermVectorOptions(FieldType newType, FieldType oldType) {
- if (newType.indexed() && oldType.storeTermVectors() == true && newType.storeTermVectors() == false) {
+ if (newType.indexOptions() != null && oldType.storeTermVectors() == true && newType.storeTermVectors() == false) {
newType = new FieldType(newType);
newType.setStoreTermVectors(oldType.storeTermVectors());
newType.setStoreTermVectorPositions(oldType.storeTermVectorPositions());
@@ -1363,7 +1363,7 @@ public abstract class LuceneTestCase ext
FieldType prevType = fieldToType.get(name);
- if (usually(random) || !type.indexed() || prevType != null) {
+ if (usually(random) || type.indexOptions() == null || prevType != null) {
// most of the time, don't modify the params
if (prevType == null) {
fieldToType.put(name, new FieldType(type));
Modified: lucene/dev/branches/lucene5969/lucene/tools/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/tools/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/tools/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/lucene/tools/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,10 +17,13 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.lucene" module="core-tools"/>
- <dependencies>
- <dependency org="org.apache.ant" name="ant" rev="${/org.apache.ant/ant}" transitive="false" />
- <dependency org="org.apache.ivy" name="ivy" rev="${/org.apache.ivy/ivy}" transitive="false" />
- <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
- </dependencies>
+ <info organisation="org.apache.lucene" module="core-tools"/>
+ <configurations defaultconfmapping="compile->master">
+ <conf name="compile" transitive="false"/>
+ </configurations>
+ <dependencies>
+ <dependency org="org.apache.ant" name="ant" rev="${/org.apache.ant/ant}" conf="compile"/>
+ <dependency org="org.apache.ivy" name="ivy" rev="${/org.apache.ivy/ivy}" conf="compile"/>
+ <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
+ </dependencies>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java (original)
+++ lucene/dev/branches/lucene5969/lucene/tools/src/java/org/apache/lucene/dependencies/GetMavenDependenciesTask.java Wed Oct 22 05:44:17 2014
@@ -681,7 +681,8 @@ public class GetMavenDependenciesTask ex
String module = getModuleName(ivyXmlFile);
log("Collecting external dependencies from: " + ivyXmlFile.getPath(), verboseLevel);
Document document = documentBuilder.parse(ivyXmlFile);
- String dependencyPath = "/ivy-module/dependencies/dependency[not(starts-with(@conf,'start->'))]";
+ // Exclude the 'start' configuration in solr/example/ivy.xml
+ String dependencyPath = "/ivy-module/dependencies/dependency[not(starts-with(@conf,'start'))]";
NodeList dependencies = (NodeList)xpath.evaluate(dependencyPath, document, XPathConstants.NODESET);
for (int depNum = 0 ; depNum < dependencies.getLength() ; ++depNum) {
Element dependency = (Element)dependencies.item(depNum);
Modified: lucene/dev/branches/lucene5969/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/CHANGES.txt?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/CHANGES.txt (original)
+++ lucene/dev/branches/lucene5969/solr/CHANGES.txt Wed Oct 22 05:44:17 2014
@@ -94,6 +94,12 @@ Upgrading from Solr 4.x
If you need the old functionality back , please add an extra parameter f=/**
example: /update/json/docs?f=/**
+* Bugs fixed in several ValueSource functions may result in different behavior in
+ situations where some documents do not have values for fields wrapped in other value
+ sources. Users who want to preserve the previous behavior may need to wrap fields
+ in the "def()" function. Example: changing "fl=sum(fieldA,fieldB)" to
+ "fl=sum(def(fieldA,0.0),def(fieldB,0.0))". See LUCENE-5961 for more details.
+
Detailed Change List
----------------------
@@ -172,6 +178,14 @@ New Features
* SOLR-4715: Add CloudSolrServer constructors which accept a HttpClient instance.
(Hardik Upadhyay, Shawn Heisey, shalin)
+* SOLR-6517: CollectionsAPI call REBALANCELEADERS. Used to balance leaders
+ across nodes for a particular collection
+
+* SOLR-5992: add "removeregex" as an atomic update operation
+ (Vitaliy Zhovtyuk via Erick Erickson)
+
+* SOLR-6633: /update/json/docs path can now save the underlying json doc asa string field
+ and better support added to the default example (Noble Paul)
Bug Fixes
----------------------
@@ -237,6 +251,8 @@ Bug Fixes
* SOLR-6307: Atomic update remove does not work for int array or date array
(Anurag Sharma , noble)
+* SOLR-6573: QueryElevationComponent now works with localParams in the query (janhoy)
+
Optimizations
----------------------
Modified: lucene/dev/branches/lucene5969/solr/contrib/analysis-extras/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/analysis-extras/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/analysis-extras/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/analysis-extras/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,22 +18,22 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="analysis-extras"/>
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false"/>
<conf name="test" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="com.ibm.icu" name="icu4j" rev="${/com.ibm.icu/icu4j}" conf="compile->*"/>
+ <dependency org="com.ibm.icu" name="icu4j" rev="${/com.ibm.icu/icu4j}" conf="compile"/>
<!--
Although the 3rd party morfologik jars are not dependencies of code in
the analysis-extras contrib, they must remain here in order to
populate the Solr distribution
-->
- <dependency org="org.carrot2" name="morfologik-polish" rev="${/org.carrot2/morfologik-polish}" conf="compile->*"/>
- <dependency org="org.carrot2" name="morfologik-fsa" rev="${/org.carrot2/morfologik-fsa}" conf="compile->*"/>
- <dependency org="org.carrot2" name="morfologik-stemming" rev="${/org.carrot2/morfologik-stemming}" conf="compile->*"/>
+ <dependency org="org.carrot2" name="morfologik-polish" rev="${/org.carrot2/morfologik-polish}" conf="compile"/>
+ <dependency org="org.carrot2" name="morfologik-fsa" rev="${/org.carrot2/morfologik-fsa}" conf="compile"/>
+ <dependency org="org.carrot2" name="morfologik-stemming" rev="${/org.carrot2/morfologik-stemming}" conf="compile"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
Modified: lucene/dev/branches/lucene5969/solr/contrib/analytics/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/analytics/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/analytics/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/analytics/ivy.xml Wed Oct 22 05:44:17 2014
@@ -17,14 +17,14 @@
under the License.
-->
<ivy-module version="2.0">
- <info organisation="org.apache.solr" module="analytics"/>
- <configurations>
- <conf name="compile" transitive="false"/>
- <conf name="test" transitive="false"/>
- </configurations>
-
- <dependencies>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
- </dependencies>
+ <info organisation="org.apache.solr" module="analytics"/>
+ <configurations defaultconfmapping="compile->master;test->master">
+ <conf name="compile" transitive="false"/> <!-- keep unused 'compile' configuration to allow build to succeed -->
+ <conf name="test" transitive="false"/>
+ </configurations>
+ <dependencies>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
+ <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
+ </dependencies>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/solr/contrib/clustering/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/clustering/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/clustering/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/clustering/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,22 +18,22 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="clustering"/>
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false"/>
<conf name="test" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="org.carrot2" name="carrot2-mini" rev="${/org.carrot2/carrot2-mini}" transitive="false"/>
+ <dependency org="org.carrot2" name="carrot2-mini" rev="${/org.carrot2/carrot2-mini}" conf="compile"/>
- <dependency org="com.carrotsearch" name="hppc" rev="${/com.carrotsearch/hppc}" transitive="false"/>
- <dependency org="org.carrot2.attributes" name="attributes-binder" rev="${/org.carrot2.attributes/attributes-binder}" transitive="false"/>
- <dependency org="org.simpleframework" name="simple-xml" rev="${/org.simpleframework/simple-xml}" transitive="false"/>
+ <dependency org="com.carrotsearch" name="hppc" rev="${/com.carrotsearch/hppc}" conf="compile"/>
+ <dependency org="org.carrot2.attributes" name="attributes-binder" rev="${/org.carrot2.attributes/attributes-binder}" conf="compile"/>
+ <dependency org="org.simpleframework" name="simple-xml" rev="${/org.simpleframework/simple-xml}" conf="compile"/>
- <dependency org="org.apache.mahout" name="mahout-math" rev="${/org.apache.mahout/mahout-math}" transitive="false"/>
- <dependency org="org.apache.mahout" name="mahout-collections" rev="${/org.apache.mahout/mahout-collections}" transitive="false"/>
+ <dependency org="org.apache.mahout" name="mahout-math" rev="${/org.apache.mahout/mahout-math}" conf="compile"/>
+ <dependency org="org.apache.mahout" name="mahout-collections" rev="${/org.apache.mahout/mahout-collections}" conf="compile"/>
- <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="${/org.codehaus.jackson/jackson-core-asl}" transitive="false"/>
- <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="${/org.codehaus.jackson/jackson-mapper-asl}" transitive="false"/>
+ <dependency org="org.codehaus.jackson" name="jackson-core-asl" rev="${/org.codehaus.jackson/jackson-core-asl}" conf="compile"/>
+ <dependency org="org.codehaus.jackson" name="jackson-mapper-asl" rev="${/org.codehaus.jackson/jackson-mapper-asl}" conf="compile"/>
<!--
Included as part of Solr's environment.
@@ -42,7 +42,7 @@
commons-lang:commons-lang:jar:2.6:compile
-->
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
Modified: lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler-extras/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler-extras/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler-extras/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler-extras/ivy.xml Wed Oct 22 05:44:17 2014
@@ -26,14 +26,17 @@
https://issues.apache.org/jira/browse/SOLR-3848
-->
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false"/>
<conf name="test" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="javax.activation" name="activation" rev="${/javax.activation/activation}" conf="compile->*"/>
- <dependency org="com.sun.mail" name="javax.mail" rev="${/com.sun.mail/javax.mail}" conf="compile->*"/>
- <dependency org="com.sun.mail" name="gimap" rev="${/com.sun.mail/gimap}" conf="compile->*"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="javax.activation" name="activation" rev="${/javax.activation/activation}" conf="compile"/>
+ <dependency org="com.sun.mail" name="javax.mail" rev="${/com.sun.mail/javax.mail}" conf="compile"/>
+ <dependency org="com.sun.mail" name="gimap" rev="${/com.sun.mail/gimap}" conf="compile"/>
+
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
+
+ <exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
</ivy-module>
Modified: lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/dataimporthandler/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,15 +18,15 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="dataimporthandler"/>
- <configurations>
- <conf name="compile" transitive="false"/>
+ <configurations defaultconfmapping="compile->master;test->master">
+ <conf name="compile" transitive="false"/> <!-- keep unused 'compile' configuration to allow build to succeed -->
<conf name="test" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="hsqldb" name="hsqldb" rev="${/hsqldb/hsqldb}" conf="test->*"/>
- <dependency org="org.apache.derby" name="derby" rev="${/org.apache.derby/derby}" conf="test->*"/>
- <dependency org="org.easymock" name="easymock" rev="${/org.easymock/easymock}" conf="test->*"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="hsqldb" name="hsqldb" rev="${/hsqldb/hsqldb}" conf="test"/>
+ <dependency org="org.apache.derby" name="derby" rev="${/org.apache.derby/derby}" conf="test"/>
+ <dependency org="org.easymock" name="easymock" rev="${/org.easymock/easymock}" conf="test"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
Modified: lucene/dev/branches/lucene5969/solr/contrib/extraction/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/extraction/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/extraction/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/extraction/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,53 +18,53 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="extraction"/>
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false"/>
<conf name="test" transitive="false"/>
</configurations>
<dependencies>
<!-- Tika JARs -->
- <dependency org="org.apache.tika" name="tika-core" rev="${/org.apache.tika/tika-core}" conf="compile->*"/>
- <dependency org="org.apache.tika" name="tika-parsers" rev="${/org.apache.tika/tika-parsers}" conf="compile->*"/>
- <dependency org="org.apache.tika" name="tika-xmp" rev="${/org.apache.tika/tika-xmp}" conf="compile->*"/>
+ <dependency org="org.apache.tika" name="tika-core" rev="${/org.apache.tika/tika-core}" conf="compile"/>
+ <dependency org="org.apache.tika" name="tika-parsers" rev="${/org.apache.tika/tika-parsers}" conf="compile"/>
+ <dependency org="org.apache.tika" name="tika-xmp" rev="${/org.apache.tika/tika-xmp}" conf="compile"/>
<!-- Tika dependencies - see http://tika.apache.org/1.3/gettingstarted.html#Using_Tika_as_a_Maven_dependency -->
<!-- When upgrading Tika, upgrade dependencies versions and add any new ones
(except slf4j-api, commons-codec, commons-logging, commons-httpclient, geronimo-stax-api_1.0_spec, jcip-annotations, xml-apis, asm)
WARNING: Don't add netcdf / unidataCommon (partially LGPL code) -->
- <dependency org="org.gagravarr" name="vorbis-java-tika" rev="${/org.gagravarr/vorbis-java-tika}" conf="compile->*"/>
- <dependency org="org.gagravarr" name="vorbis-java-core" rev="${/org.gagravarr/vorbis-java-core}" conf="compile->*"/>
- <dependency org="org.apache.james" name="apache-mime4j-core" rev="${/org.apache.james/apache-mime4j-core}" conf="compile->*"/>
- <dependency org="org.apache.james" name="apache-mime4j-dom" rev="${/org.apache.james/apache-mime4j-dom}" conf="compile->*"/>
- <dependency org="org.apache.commons" name="commons-compress" rev="${/org.apache.commons/commons-compress}" conf="compile->*"/>
- <dependency org="org.apache.pdfbox" name="pdfbox" rev="${/org.apache.pdfbox/pdfbox}" conf="compile->*"/>
- <dependency org="org.apache.pdfbox" name="fontbox" rev="${/org.apache.pdfbox/fontbox}" conf="compile->*"/>
- <dependency org="org.apache.pdfbox" name="jempbox" rev="${/org.apache.pdfbox/jempbox}" conf="compile->*"/>
- <dependency org="org.bouncycastle" name="bcmail-jdk15" rev="${/org.bouncycastle/bcmail-jdk15}" conf="compile->*"/>
- <dependency org="org.bouncycastle" name="bcprov-jdk15" rev="${/org.bouncycastle/bcprov-jdk15}" conf="compile->*"/>
- <dependency org="org.apache.poi" name="poi" rev="${/org.apache.poi/poi}" conf="compile->*"/>
- <dependency org="org.apache.poi" name="poi-scratchpad" rev="${/org.apache.poi/poi-scratchpad}" conf="compile->*"/>
- <dependency org="org.apache.poi" name="poi-ooxml" rev="${/org.apache.poi/poi-ooxml}" conf="compile->*"/>
- <dependency org="org.apache.poi" name="poi-ooxml-schemas" rev="${/org.apache.poi/poi-ooxml-schemas}" conf="compile->*"/>
- <dependency org="org.apache.xmlbeans" name="xmlbeans" rev="${/org.apache.xmlbeans/xmlbeans}" conf="compile->*"/>
- <dependency org="org.ccil.cowan.tagsoup" name="tagsoup" rev="${/org.ccil.cowan.tagsoup/tagsoup}" conf="compile->*"/>
- <dependency org="com.googlecode.mp4parser" name="isoparser" rev="${/com.googlecode.mp4parser/isoparser}" conf="compile->*"/>
- <dependency org="org.aspectj" name="aspectjrt" rev="${/org.aspectj/aspectjrt}" conf="compile->*"/>
- <dependency org="com.drewnoakes" name="metadata-extractor" rev="${/com.drewnoakes/metadata-extractor}" conf="compile->*"/>
- <dependency org="de.l3s.boilerpipe" name="boilerpipe" rev="${/de.l3s.boilerpipe/boilerpipe}" conf="compile->*"/>
- <dependency org="rome" name="rome" rev="${/rome/rome}" conf="compile->*"/>
- <dependency org="jdom" name="jdom" rev="${/jdom/jdom}" conf="compile->*"/>
- <dependency org="com.googlecode.juniversalchardet" name="juniversalchardet" rev="${/com.googlecode.juniversalchardet/juniversalchardet}" conf="compile->*"/>
- <dependency org="org.tukaani" name="xz" rev="${/org.tukaani/xz}" conf="compile->*"/>
- <dependency org="com.adobe.xmp" name="xmpcore" rev="${/com.adobe.xmp/xmpcore}" conf="compile->*"/>
- <dependency org="com.uwyn" name="jhighlight" rev="${/com.uwyn/jhighlight}" conf="compile->*"/>
- <dependency org="com.pff" name="java-libpst" rev="${/com.pff/java-libpst}" conf="compile->*"/>
- <dependency org="net.sourceforge.jmatio" name="jmatio" rev="${/net.sourceforge.jmatio/jmatio}" conf="compile->*"/>
+ <dependency org="org.gagravarr" name="vorbis-java-tika" rev="${/org.gagravarr/vorbis-java-tika}" conf="compile"/>
+ <dependency org="org.gagravarr" name="vorbis-java-core" rev="${/org.gagravarr/vorbis-java-core}" conf="compile"/>
+ <dependency org="org.apache.james" name="apache-mime4j-core" rev="${/org.apache.james/apache-mime4j-core}" conf="compile"/>
+ <dependency org="org.apache.james" name="apache-mime4j-dom" rev="${/org.apache.james/apache-mime4j-dom}" conf="compile"/>
+ <dependency org="org.apache.commons" name="commons-compress" rev="${/org.apache.commons/commons-compress}" conf="compile"/>
+ <dependency org="org.apache.pdfbox" name="pdfbox" rev="${/org.apache.pdfbox/pdfbox}" conf="compile"/>
+ <dependency org="org.apache.pdfbox" name="fontbox" rev="${/org.apache.pdfbox/fontbox}" conf="compile"/>
+ <dependency org="org.apache.pdfbox" name="jempbox" rev="${/org.apache.pdfbox/jempbox}" conf="compile"/>
+ <dependency org="org.bouncycastle" name="bcmail-jdk15" rev="${/org.bouncycastle/bcmail-jdk15}" conf="compile"/>
+ <dependency org="org.bouncycastle" name="bcprov-jdk15" rev="${/org.bouncycastle/bcprov-jdk15}" conf="compile"/>
+ <dependency org="org.apache.poi" name="poi" rev="${/org.apache.poi/poi}" conf="compile"/>
+ <dependency org="org.apache.poi" name="poi-scratchpad" rev="${/org.apache.poi/poi-scratchpad}" conf="compile"/>
+ <dependency org="org.apache.poi" name="poi-ooxml" rev="${/org.apache.poi/poi-ooxml}" conf="compile"/>
+ <dependency org="org.apache.poi" name="poi-ooxml-schemas" rev="${/org.apache.poi/poi-ooxml-schemas}" conf="compile"/>
+ <dependency org="org.apache.xmlbeans" name="xmlbeans" rev="${/org.apache.xmlbeans/xmlbeans}" conf="compile"/>
+ <dependency org="org.ccil.cowan.tagsoup" name="tagsoup" rev="${/org.ccil.cowan.tagsoup/tagsoup}" conf="compile"/>
+ <dependency org="com.googlecode.mp4parser" name="isoparser" rev="${/com.googlecode.mp4parser/isoparser}" conf="compile"/>
+ <dependency org="org.aspectj" name="aspectjrt" rev="${/org.aspectj/aspectjrt}" conf="compile"/>
+ <dependency org="com.drewnoakes" name="metadata-extractor" rev="${/com.drewnoakes/metadata-extractor}" conf="compile"/>
+ <dependency org="de.l3s.boilerpipe" name="boilerpipe" rev="${/de.l3s.boilerpipe/boilerpipe}" conf="compile"/>
+ <dependency org="rome" name="rome" rev="${/rome/rome}" conf="compile"/>
+ <dependency org="jdom" name="jdom" rev="${/jdom/jdom}" conf="compile"/>
+ <dependency org="com.googlecode.juniversalchardet" name="juniversalchardet" rev="${/com.googlecode.juniversalchardet/juniversalchardet}" conf="compile"/>
+ <dependency org="org.tukaani" name="xz" rev="${/org.tukaani/xz}" conf="compile"/>
+ <dependency org="com.adobe.xmp" name="xmpcore" rev="${/com.adobe.xmp/xmpcore}" conf="compile"/>
+ <dependency org="com.uwyn" name="jhighlight" rev="${/com.uwyn/jhighlight}" conf="compile"/>
+ <dependency org="com.pff" name="java-libpst" rev="${/com.pff/java-libpst}" conf="compile"/>
+ <dependency org="net.sourceforge.jmatio" name="jmatio" rev="${/net.sourceforge.jmatio/jmatio}" conf="compile"/>
<!-- Other ExtractingRequestHandler dependencies -->
- <dependency org="com.ibm.icu" name="icu4j" rev="${/com.ibm.icu/icu4j}" conf="compile->*"/>
- <dependency org="xerces" name="xercesImpl" rev="${/xerces/xercesImpl}" conf="compile->*"/>
+ <dependency org="com.ibm.icu" name="icu4j" rev="${/com.ibm.icu/icu4j}" conf="compile"/>
+ <dependency org="xerces" name="xercesImpl" rev="${/xerces/xercesImpl}" conf="compile"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
Modified: lucene/dev/branches/lucene5969/solr/contrib/langid/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/langid/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/langid/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/langid/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,15 +18,15 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="langid"/>
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false"/>
<conf name="test" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="com.cybozu.labs" name="langdetect" rev="${/com.cybozu.labs/langdetect}" conf="compile->*"/>
- <dependency org="net.arnx" name="jsonic" rev="${/net.arnx/jsonic}" conf="compile->*"/>
+ <dependency org="com.cybozu.labs" name="langdetect" rev="${/com.cybozu.labs/langdetect}" conf="compile"/>
+ <dependency org="net.arnx" name="jsonic" rev="${/net.arnx/jsonic}" conf="compile"/>
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test"/>
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}"/>
</dependencies>
Modified: lucene/dev/branches/lucene5969/solr/contrib/map-reduce/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/map-reduce/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/map-reduce/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/map-reduce/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,21 +18,19 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="map-reduce" />
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false" />
<conf name="test" transitive="false" />
- <conf name="test.DfsMiniCluster" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="${/org.apache.hadoop/hadoop-mapreduce-client-core}" conf="compile->*" />
- <dependency org="net.sourceforge.argparse4j" name="argparse4j" rev="${/net.sourceforge.argparse4j/argparse4j}" conf="compile->*" />
- <dependency org="org.kitesdk" name="kite-morphlines-saxon" rev="${/org.kitesdk/kite-morphlines-saxon}" conf="compile->*" />
- <dependency org="net.sf.saxon" name="Saxon-HE" rev="${/net.sf.saxon/Saxon-HE}" conf="compile->*" />
-
- <dependency org="org.kitesdk" name="kite-morphlines-hadoop-sequencefile" rev="${/org.kitesdk/kite-morphlines-hadoop-sequencefile}" conf="compile->*" />
+ <dependency org="org.apache.hadoop" name="hadoop-mapreduce-client-core" rev="${/org.apache.hadoop/hadoop-mapreduce-client-core}" conf="compile" />
+ <dependency org="net.sourceforge.argparse4j" name="argparse4j" rev="${/net.sourceforge.argparse4j/argparse4j}" conf="compile" />
+ <dependency org="org.kitesdk" name="kite-morphlines-saxon" rev="${/org.kitesdk/kite-morphlines-saxon}" conf="compile" />
+ <dependency org="net.sf.saxon" name="Saxon-HE" rev="${/net.sf.saxon/Saxon-HE}" conf="compile" />
+ <dependency org="org.kitesdk" name="kite-morphlines-hadoop-sequencefile" rev="${/org.kitesdk/kite-morphlines-hadoop-sequencefile}" conf="compile" />
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test" />
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}" />
</dependencies>
Modified: lucene/dev/branches/lucene5969/solr/contrib/morphlines-cell/ivy.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/morphlines-cell/ivy.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/morphlines-cell/ivy.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/morphlines-cell/ivy.xml Wed Oct 22 05:44:17 2014
@@ -18,19 +18,18 @@
-->
<ivy-module version="2.0">
<info organisation="org.apache.solr" module="morphlines-cell" />
- <configurations>
+ <configurations defaultconfmapping="compile->master;test->master">
<conf name="compile" transitive="false" />
<conf name="test" transitive="false" />
- <conf name="test.DfsMiniCluster" transitive="false"/>
</configurations>
<dependencies>
- <dependency org="org.kitesdk" name="kite-morphlines-tika-core" rev="${/org.kitesdk/kite-morphlines-tika-core}" conf="compile->*" />
- <dependency org="org.kitesdk" name="kite-morphlines-tika-decompress" rev="${/org.kitesdk/kite-morphlines-tika-decompress}" conf="compile->*" />
- <dependency org="org.kitesdk" name="kite-morphlines-json" rev="${/org.kitesdk/kite-morphlines-json}" conf="compile->*" />
- <dependency org="org.kitesdk" name="kite-morphlines-twitter" rev="${/org.kitesdk/kite-morphlines-twitter}" conf="compile->*" />
+ <dependency org="org.kitesdk" name="kite-morphlines-tika-core" rev="${/org.kitesdk/kite-morphlines-tika-core}" conf="compile" />
+ <dependency org="org.kitesdk" name="kite-morphlines-tika-decompress" rev="${/org.kitesdk/kite-morphlines-tika-decompress}" conf="compile" />
+ <dependency org="org.kitesdk" name="kite-morphlines-json" rev="${/org.kitesdk/kite-morphlines-json}" conf="compile" />
+ <dependency org="org.kitesdk" name="kite-morphlines-twitter" rev="${/org.kitesdk/kite-morphlines-twitter}" conf="compile" />
- <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test->*"/>
+ <dependency org="org.slf4j" name="jcl-over-slf4j" rev="${/org.slf4j/jcl-over-slf4j}" conf="test" />
<exclude org="*" ext="*" matcher="regexp" type="${ivy.exclude.types}" />
Modified: lucene/dev/branches/lucene5969/solr/contrib/morphlines-core/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene5969/solr/contrib/morphlines-core/build.xml?rev=1633538&r1=1633537&r2=1633538&view=diff
==============================================================================
--- lucene/dev/branches/lucene5969/solr/contrib/morphlines-core/build.xml (original)
+++ lucene/dev/branches/lucene5969/solr/contrib/morphlines-core/build.xml Wed Oct 22 05:44:17 2014
@@ -91,6 +91,14 @@
</ant>
</target>
+ <target name="resolve" depends="ivy-availability-check,ivy-fail,ivy-configure">
+ <sequential>
+ <ivy:retrieve conf="compile" type="jar,bundle" sync="${ivy.sync}" log="download-only"/>
+ <ivy:retrieve conf="test,test.DfsMiniCluster" type="jar,bundle,test" sync="${ivy.sync}" log="download-only"
+ pattern="${test.lib.dir}/[artifact]-[revision](-[classifier]).[ext]"/>
+ </sequential>
+ </target>
+
<target name="compile-core" depends="resolve-extraction-libs, compile-solr-extraction, solr-contrib-build.compile-core"/>
<target name="dist" depends="common-solr.dist"/>