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 2013/01/08 04:40:37 UTC
svn commit: r1430130 [11/27] - in /lucene/dev/branches/lucene4547: ./
dev-tools/ dev-tools/eclipse/ dev-tools/idea/.idea/libraries/
dev-tools/maven/ dev-tools/maven/solr/
dev-tools/maven/solr/contrib/analysis-extras/
dev-tools/maven/solr/contrib/cluste...
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/LruTaxonomyWriterCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/LruTaxonomyWriterCache.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/LruTaxonomyWriterCache.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/LruTaxonomyWriterCache.java Tue Jan 8 03:40:16 2013
@@ -87,23 +87,6 @@ public class LruTaxonomyWriterCache impl
}
@Override
- public synchronized int get(CategoryPath categoryPath, int length) {
- if (length<0 || length>categoryPath.length()) {
- length = categoryPath.length();
- }
- // TODO (Facet): unfortunately, we make a copy here! we can avoid part of
- // the copy by creating a wrapper object (but this still creates a new
- // object). A better implementation of the cache would not use Java's
- // hash table, but rather some other hash table we can control, and
- // pass the length parameter into it...
- Integer res = cache.get(new CategoryPath(categoryPath, length));
- if (res==null) {
- return -1;
- }
- return res.intValue();
- }
-
- @Override
public synchronized boolean put(CategoryPath categoryPath, int ordinal) {
boolean ret = cache.put(categoryPath, new Integer(ordinal));
// If the cache is full, we need to clear one or more old entries
@@ -119,20 +102,4 @@ public class LruTaxonomyWriterCache impl
return ret;
}
- @Override
- public synchronized boolean put(CategoryPath categoryPath, int prefixLen, int ordinal) {
- boolean ret = cache.put(categoryPath, prefixLen, new Integer(ordinal));
- // If the cache is full, we need to clear one or more old entries
- // from the cache. However, if we delete from the cache a recent
- // addition that isn't yet in our reader, for this entry to be
- // visible to us we need to make sure that the changes have been
- // committed and we reopen the reader. Because this is a slow
- // operation, we don't delete entries one-by-one but rather in bulk
- // (put() removes the 2/3rd oldest entries).
- if (ret) {
- cache.makeRoomLRU();
- }
- return ret;
- }
-
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameHashIntCacheLRU.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameHashIntCacheLRU.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameHashIntCacheLRU.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameHashIntCacheLRU.java Tue Jan 8 03:40:16 2013
@@ -41,6 +41,7 @@ public class NameHashIntCacheLRU extends
@Override
Object key(CategoryPath name, int prefixLen) {
- return new Long(name.longHashCode(prefixLen));
+ return new Long(name.subpath(prefixLen).longHashCode());
}
+
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameIntCacheLRU.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameIntCacheLRU.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameIntCacheLRU.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/writercache/lru/NameIntCacheLRU.java Tue Jan 8 03:40:16 2013
@@ -68,23 +68,13 @@ class NameIntCacheLRU {
return res;
}
- /**
- * Subclasses can override this to provide caching by e.g. hash of the string.
- */
+ /** Subclasses can override this to provide caching by e.g. hash of the string. */
Object key(CategoryPath name) {
- // Note that a copy constructor (cloning) here is necessary, because a
- // CategoryPath object is mutable, so we cannot save a reference to an
- // existing CategoryPath. Subclasses which override this method can
- // avoid this cloning by, e.g., hashing the name.
- return new CategoryPath(name);
+ return name;
}
Object key(CategoryPath name, int prefixLen) {
- // Note that a copy constructor (cloning) here is necessary, because a
- // CategoryPath object is mutable, so we cannot save a reference to an
- // existing CategoryPath. Subclasses which override this method can
- // avoid this cloning by, e.g., hashing the name.
- return new CategoryPath(name, prefixLen);
+ return name.subpath(prefixLen);
}
/**
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/MultiCategoryListIterator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/MultiCategoryListIterator.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/MultiCategoryListIterator.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/MultiCategoryListIterator.java Tue Jan 8 03:40:16 2013
@@ -43,6 +43,7 @@ public class MultiCategoryListIterator i
}
/** Fails if all given iterators fail to init */
+ @Override
public boolean init() throws IOException {
for (CategoryListIterator cli : iterators) {
if (cli.init()) {
@@ -56,6 +57,7 @@ public class MultiCategoryListIterator i
* Return a value larger than {@link Integer#MAX_VALUE} only if all
* iterators are exhausted
*/
+ @Override
public long nextCategory() throws IOException {
while (!perDocValidIterators.isEmpty()) {
long value = perDocValidIterators.get(0).nextCategory();
@@ -70,6 +72,7 @@ public class MultiCategoryListIterator i
/**
* Fails only if skipTo on all the provided iterators returned {@code false}
*/
+ @Override
public boolean skipTo(int docId) throws IOException {
perDocValidIterators.clear();
for (CategoryListIterator cli : validIterators) {
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/PartitionsUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/PartitionsUtils.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/PartitionsUtils.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/PartitionsUtils.java Tue Jan 8 03:40:16 2013
@@ -2,7 +2,6 @@ package org.apache.lucene.facet.util;
import org.apache.lucene.facet.index.params.CategoryListParams;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
-import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
/*
@@ -33,22 +32,12 @@ public final class PartitionsUtils {
* Get the offset for a given partition. That is, what is the minimum number an
* ordinal could be for a particular partition.
*/
- public final static int partitionOffset ( FacetIndexingParams iParams,
- int partitionNumber,
- final TaxonomyReader taxonomyReader) {
+ public final static int partitionOffset(FacetIndexingParams iParams,
+ int partitionNumber, final TaxonomyReader taxonomyReader) {
return partitionNumber * partitionSize(iParams, taxonomyReader);
}
/**
- * @see #partitionOffset(FacetIndexingParams, int, TaxonomyReader)
- */
- public final static int partitionOffset ( FacetSearchParams sParams,
- int partitionNumber,
- final TaxonomyReader taxonomyReader) {
- return partitionOffset(sParams.getFacetIndexingParams(), partitionNumber, taxonomyReader);
- }
-
- /**
* Get the partition size in this parameter, or return the size of the taxonomy, which
* is smaller. (Guarantees usage of as little memory as possible at search time).
*/
@@ -57,13 +46,6 @@ public final class PartitionsUtils {
}
/**
- * @see #partitionSize(FacetIndexingParams, TaxonomyReader)
- */
- public final static int partitionSize(FacetSearchParams sParams, final TaxonomyReader taxonomyReader) {
- return partitionSize(sParams.getFacetIndexingParams(), taxonomyReader);
- }
-
- /**
* Partition number of an ordinal.
* <p>
* This allows to locate the partition containing a certain (facet) ordinal.
@@ -74,19 +56,11 @@ public final class PartitionsUtils {
}
/**
- * @see #partitionNumber(FacetIndexingParams, int)
- */
- public final static int partitionNumber(FacetSearchParams sParams, int ordinal) {
- return partitionNumber(sParams.getFacetIndexingParams(), ordinal);
- }
-
- /**
* Partition name by category ordinal
*/
- public final static String partitionNameByOrdinal( FacetIndexingParams iParams,
- CategoryListParams clParams,
- int ordinal) {
- int partition = partitionNumber(iParams, ordinal);
+ public final static String partitionNameByOrdinal(
+ FacetIndexingParams iParams, CategoryListParams clParams, int ordinal) {
+ int partition = partitionNumber(iParams, ordinal);
return partitionName(clParams, partition);
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ResultSortUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ResultSortUtils.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ResultSortUtils.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ResultSortUtils.java Tue Jan 8 03:40:16 2013
@@ -144,14 +144,17 @@ public class ResultSortUtils {
this.accending = accending;
}
+ @Override
public FacetResultNode insertWithOverflow(FacetResultNode node) {
resultNodes.add(node);
return null;
}
+ @Override
public FacetResultNode pop() {
if (!isReady) {
Collections.sort(resultNodes, new Comparator<FacetResultNode>() {
+ @Override
public int compare(FacetResultNode o1, FacetResultNode o2) {
int value = Double.compare(o1.getValue(), o2
.getValue());
@@ -170,10 +173,12 @@ public class ResultSortUtils {
return resultNodes.remove(0);
}
+ @Override
public int size() {
return resultNodes.size();
}
+ @Override
public FacetResultNode top() {
if (resultNodes.size() > 0) {
return resultNodes.get(0);
@@ -182,11 +187,13 @@ public class ResultSortUtils {
return null;
}
+ @Override
public FacetResultNode add(FacetResultNode frn) {
resultNodes.add(frn);
return null;
}
+ @Override
public void clear() {
resultNodes.clear();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ScoredDocIdsUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ScoredDocIdsUtils.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ScoredDocIdsUtils.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/facet/util/ScoredDocIdsUtils.java Tue Jan 8 03:40:16 2013
@@ -118,6 +118,7 @@ public class ScoredDocIdsUtils {
return new ScoredDocIDs() {
+ @Override
public DocIdSet getDocIDs() {
return new DocIdSet() {
@@ -155,19 +156,24 @@ public class ScoredDocIdsUtils {
};
}
+ @Override
public ScoredDocIDsIterator iterator() {
return new ScoredDocIDsIterator() {
int next = -1;
+ @Override
public boolean next() { return ++next < size; }
+ @Override
public float getScore() { return scores[next]; }
+ @Override
public int getDocID() { return docids[next]; }
};
}
+ @Override
public int size() { return size; }
};
@@ -191,11 +197,14 @@ public class ScoredDocIdsUtils {
public static final ScoredDocIDs createScoredDocIds(final DocIdSet docIdSet, final int maxDoc) {
return new ScoredDocIDs() {
private int size = -1;
+ @Override
public DocIdSet getDocIDs() { return docIdSet; }
+ @Override
public ScoredDocIDsIterator iterator() throws IOException {
final DocIdSetIterator docIterator = docIdSet.iterator();
return new ScoredDocIDsIterator() {
+ @Override
public boolean next() {
try {
return docIterator.nextDoc() != DocIdSetIterator.NO_MORE_DOCS;
@@ -204,12 +213,15 @@ public class ScoredDocIdsUtils {
}
}
+ @Override
public float getScore() { return DEFAULT_SCORE; }
+ @Override
public int getDocID() { return docIterator.docID(); }
};
}
+ @Override
public int size() {
// lazy size computation
if (size < 0) {
@@ -238,10 +250,12 @@ public class ScoredDocIdsUtils {
this.maxDoc = reader.maxDoc();
}
+ @Override
public int size() {
return maxDoc;
}
+ @Override
public DocIdSet getDocIDs() {
return new DocIdSet() {
@@ -279,10 +293,12 @@ public class ScoredDocIdsUtils {
};
}
+ @Override
public ScoredDocIDsIterator iterator() {
try {
final DocIdSetIterator iter = getDocIDs().iterator();
return new ScoredDocIDsIterator() {
+ @Override
public boolean next() {
try {
return iter.nextDoc() != DocIdSetIterator.NO_MORE_DOCS;
@@ -292,10 +308,12 @@ public class ScoredDocIdsUtils {
}
}
+ @Override
public float getScore() {
return DEFAULT_SCORE;
}
+ @Override
public int getDocID() {
return iter.docID();
}
@@ -324,10 +342,12 @@ public class ScoredDocIdsUtils {
this.reader = reader;
}
+ @Override
public int size() {
return reader.numDocs();
}
+ @Override
public DocIdSet getDocIDs() {
return new DocIdSet() {
@@ -369,10 +389,12 @@ public class ScoredDocIdsUtils {
};
}
+ @Override
public ScoredDocIDsIterator iterator() {
try {
final DocIdSetIterator iter = getDocIDs().iterator();
return new ScoredDocIDsIterator() {
+ @Override
public boolean next() {
try {
return iter.nextDoc() != DocIdSetIterator.NO_MORE_DOCS;
@@ -382,10 +404,12 @@ public class ScoredDocIdsUtils {
}
}
+ @Override
public float getScore() {
return DEFAULT_SCORE;
}
+ @Override
public int getDocID() {
return iter.docID();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ArrayHashMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ArrayHashMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ArrayHashMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ArrayHashMap.java Tue Jan 8 03:40:16 2013
@@ -65,10 +65,12 @@ public class ArrayHashMap<K,V> implement
}
}
+ @Override
public boolean hasNext() {
return index != 0;
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -86,6 +88,7 @@ public class ArrayHashMap<K,V> implement
return lastIndex;
}
+ @Override
@SuppressWarnings("unchecked")
public void remove() {
ArrayHashMap.this.remove((K) keys[lastIndex]);
@@ -99,15 +102,18 @@ public class ArrayHashMap<K,V> implement
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
@SuppressWarnings("unchecked")
public K next() {
return (K) keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -119,15 +125,18 @@ public class ArrayHashMap<K,V> implement
ValueIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
@SuppressWarnings("unchecked")
public V next() {
return (V) values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -378,6 +387,7 @@ public class ArrayHashMap<K,V> implement
}
/** Returns an iterator on the mapped objects. */
+ @Override
public Iterator<V> iterator() {
return new ValueIterator();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/FloatToObjectMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/FloatToObjectMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/FloatToObjectMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/FloatToObjectMap.java Tue Jan 8 03:40:16 2013
@@ -73,10 +73,12 @@ public class FloatToObjectMap<T> impleme
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -94,6 +96,7 @@ public class FloatToObjectMap<T> impleme
return lastIndex;
}
+ @Override
public void remove() {
FloatToObjectMap.this.remove(keys[lastIndex]);
}
@@ -108,14 +111,17 @@ public class FloatToObjectMap<T> impleme
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public float next() {
return keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -130,15 +136,18 @@ public class FloatToObjectMap<T> impleme
ValueIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
@SuppressWarnings("unchecked")
public T next() {
return (T) values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -445,6 +454,7 @@ public class FloatToObjectMap<T> impleme
/**
* Returns a new iterator for the mapped objects.
*/
+ @Override
public Iterator<T> iterator() {
return new ValueIterator();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntHashSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntHashSet.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntHashSet.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntHashSet.java Tue Jan 8 03:40:16 2013
@@ -64,10 +64,12 @@ public class IntHashSet {
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -85,6 +87,7 @@ public class IntHashSet {
return lastIndex;
}
+ @Override
public void remove() {
IntHashSet.this.remove(keys[lastIndex]);
}
@@ -99,14 +102,17 @@ public class IntHashSet {
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public int next() {
return keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToDoubleMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToDoubleMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToDoubleMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToDoubleMap.java Tue Jan 8 03:40:16 2013
@@ -72,10 +72,12 @@ public class IntToDoubleMap {
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -93,6 +95,7 @@ public class IntToDoubleMap {
return lastIndex;
}
+ @Override
public void remove() {
IntToDoubleMap.this.remove(keys[lastIndex]);
}
@@ -107,14 +110,17 @@ public class IntToDoubleMap {
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public int next() {
return keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -129,14 +135,17 @@ public class IntToDoubleMap {
ValueIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public double next() {
return values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToIntMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToIntMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToIntMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToIntMap.java Tue Jan 8 03:40:16 2013
@@ -71,10 +71,12 @@ public class IntToIntMap {
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -92,6 +94,7 @@ public class IntToIntMap {
return lastIndex;
}
+ @Override
public void remove() {
IntToIntMap.this.remove(keys[lastIndex]);
}
@@ -106,14 +109,17 @@ public class IntToIntMap {
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public int next() {
return keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -127,14 +133,17 @@ public class IntToIntMap {
ValueIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public int next() {
return values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToObjectMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToObjectMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToObjectMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/IntToObjectMap.java Tue Jan 8 03:40:16 2013
@@ -72,10 +72,12 @@ public class IntToObjectMap<T> implement
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -93,6 +95,7 @@ public class IntToObjectMap<T> implement
return lastIndex;
}
+ @Override
public void remove() {
IntToObjectMap.this.remove(keys[lastIndex]);
}
@@ -107,14 +110,17 @@ public class IntToObjectMap<T> implement
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public int next() {
return keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -129,15 +135,18 @@ public class IntToObjectMap<T> implement
ValueIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
@SuppressWarnings("unchecked")
public T next() {
return (T) values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -445,6 +454,7 @@ public class IntToObjectMap<T> implement
/**
* Returns a new iterator for the mapped objects.
*/
+ @Override
public Iterator<T> iterator() {
return new ValueIterator();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToFloatMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToFloatMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToFloatMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToFloatMap.java Tue Jan 8 03:40:16 2013
@@ -72,10 +72,12 @@ public class ObjectToFloatMap<K> {
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -93,6 +95,7 @@ public class ObjectToFloatMap<K> {
return lastIndex;
}
+ @Override
@SuppressWarnings("unchecked")
public void remove() {
ObjectToFloatMap.this.remove((K) keys[lastIndex]);
@@ -108,15 +111,18 @@ public class ObjectToFloatMap<K> {
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
@SuppressWarnings("unchecked")
public K next() {
return (K) keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -131,14 +137,17 @@ public class ObjectToFloatMap<K> {
ValueIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public float next() {
return values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToIntMap.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToIntMap.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToIntMap.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/collections/ObjectToIntMap.java Tue Jan 8 03:40:16 2013
@@ -72,10 +72,12 @@ public class ObjectToIntMap<K> {
}
}
+ @Override
public boolean hasNext() {
return (index != 0);
}
+ @Override
public int next() {
// Save the last index visited
lastIndex = index;
@@ -93,6 +95,7 @@ public class ObjectToIntMap<K> {
return lastIndex;
}
+ @Override
@SuppressWarnings("unchecked")
public void remove() {
ObjectToIntMap.this.remove((K) keys[lastIndex]);
@@ -108,15 +111,18 @@ public class ObjectToIntMap<K> {
KeyIterator() { }
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
@SuppressWarnings("unchecked")
public K next() {
return (K) keys[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
@@ -131,14 +137,17 @@ public class ObjectToIntMap<K> {
ValueIterator() {}
+ @Override
public boolean hasNext() {
return iterator.hasNext();
}
+ @Override
public int next() {
return values[iterator.next()];
}
+ @Override
public void remove() {
iterator.remove();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/encoding/IntEncoder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/encoding/IntEncoder.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/encoding/IntEncoder.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/java/org/apache/lucene/util/encoding/IntEncoder.java Tue Jan 8 03:40:16 2013
@@ -1,5 +1,6 @@
package org.apache.lucene.util.encoding;
+import java.io.Closeable;
import java.io.IOException;
import java.io.OutputStream;
@@ -43,7 +44,7 @@ import java.io.OutputStream;
*
* @lucene.experimental
*/
-public abstract class IntEncoder {
+public abstract class IntEncoder implements Closeable {
protected OutputStream out = null;
@@ -68,6 +69,7 @@ public abstract class IntEncoder {
* <b>NOTE:</b> overriding classes should make sure they either call
* <code>super.close()</code> or close the output stream themselves.
*/
+ @Override
public void close() throws IOException {
if (out != null) {
out.close();
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestBase.java Tue Jan 8 03:40:16 2013
@@ -15,6 +15,18 @@ import org.apache.lucene.analysis.MockTo
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.facet.index.FacetFields;
+import org.apache.lucene.facet.index.params.CategoryListParams;
+import org.apache.lucene.facet.index.params.FacetIndexingParams;
+import org.apache.lucene.facet.search.params.FacetRequest;
+import org.apache.lucene.facet.search.params.FacetSearchParams;
+import org.apache.lucene.facet.search.results.FacetResult;
+import org.apache.lucene.facet.search.results.FacetResultNode;
+import org.apache.lucene.facet.taxonomy.CategoryPath;
+import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
@@ -28,24 +40,10 @@ import org.apache.lucene.index.TermsEnum
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.store.Directory;
-
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
-import org.apache.lucene.facet.index.CategoryDocumentBuilder;
-import org.apache.lucene.facet.index.params.CategoryListParams;
-import org.apache.lucene.facet.index.params.DefaultFacetIndexingParams;
-import org.apache.lucene.facet.index.params.FacetIndexingParams;
-import org.apache.lucene.facet.search.params.FacetRequest;
-import org.apache.lucene.facet.search.params.FacetSearchParams;
-import org.apache.lucene.facet.search.results.FacetResult;
-import org.apache.lucene.facet.search.results.FacetResultNode;
-import org.apache.lucene.facet.taxonomy.CategoryPath;
-import org.apache.lucene.facet.taxonomy.TaxonomyReader;
-import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -184,29 +182,28 @@ public abstract class FacetTestBase exte
/** Returns a default facet indexing params */
protected FacetIndexingParams getFacetIndexingParams(final int partSize) {
- return new DefaultFacetIndexingParams() {
+ return new FacetIndexingParams() {
@Override
- protected int fixedPartitionSize() {
+ public int getPartitionSize() {
return partSize;
}
};
}
/**
- * Faceted Search Params for the test.
- * Sub classes should override in order to test with different faceted search params.
+ * Faceted Search Params for the test. Sub classes should override in order to
+ * test with different faceted search params.
*/
- protected FacetSearchParams getFacetedSearchParams() {
- return getFacetedSearchParams(Integer.MAX_VALUE);
+ protected FacetSearchParams getFacetSearchParams(FacetIndexingParams iParams, FacetRequest... facetRequests) {
+ return new FacetSearchParams(Arrays.asList(facetRequests), iParams);
}
/**
- * Faceted Search Params with specified partition size.
- * @see #getFacetedSearchParams()
+ * Faceted Search Params for the test. Sub classes should override in order to
+ * test with different faceted search params.
*/
- protected FacetSearchParams getFacetedSearchParams(int partitionSize) {
- FacetSearchParams res = new FacetSearchParams(getFacetIndexingParams(partitionSize));
- return res;
+ protected FacetSearchParams getFacetSearchParams(List<FacetRequest> facetRequests, FacetIndexingParams iParams) {
+ return new FacetSearchParams(facetRequests, iParams);
}
/**
@@ -258,9 +255,8 @@ public abstract class FacetTestBase exte
protected final void indexDoc(FacetIndexingParams iParams, RandomIndexWriter iw,
TaxonomyWriter tw, String content, List<CategoryPath> categories) throws IOException {
Document d = new Document();
- CategoryDocumentBuilder builder = new CategoryDocumentBuilder(tw, iParams);
- builder.setCategoryPaths(categories);
- builder.build(d);
+ FacetFields facetFields = new FacetFields(tw, iParams);
+ facetFields.addFields(d, categories);
d.add(new TextField("content", content, Field.Store.YES));
iw.addDocument(d);
}
@@ -284,7 +280,7 @@ public abstract class FacetTestBase exte
TermsEnum te = terms.iterator(null);
DocsEnum de = null;
while (te.next() != null) {
- de = _TestUtil.docs(random(), te, liveDocs, de, 0);
+ de = _TestUtil.docs(random(), te, liveDocs, de, DocsEnum.FLAG_NONE);
int cnt = 0;
while (de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
cnt++;
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java Tue Jan 8 03:40:16 2013
@@ -2,26 +2,14 @@ package org.apache.lucene.facet;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.TopScoreDocCollector;
-import org.apache.lucene.store.Directory;
-
-import org.apache.lucene.search.MultiCollector;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.index.CategoryDocumentBuilder;
-import org.apache.lucene.facet.index.params.DefaultFacetIndexingParams;
+import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.search.FacetsCollector;
import org.apache.lucene.facet.search.params.CountFacetRequest;
@@ -32,6 +20,17 @@ import org.apache.lucene.facet.taxonomy.
import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.search.Collector;
+import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.MultiCollector;
+import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -91,19 +90,18 @@ public class FacetTestUtils {
}
public static Collector[] search(IndexSearcher searcher,
- TaxonomyReader taxonomyReader, DefaultFacetIndexingParams iParams,
- int k, String... facetNames) throws IOException {
+ TaxonomyReader taxonomyReader, FacetIndexingParams iParams, int k,
+ String... facetNames) throws IOException {
Collector[] collectors = new Collector[2];
- FacetSearchParams facetSearchParams = new FacetSearchParams(iParams);
- Collection<FacetRequest> fRequests = new ArrayList<FacetRequest>();
+ List<FacetRequest> fRequests = new ArrayList<FacetRequest>();
for (String facetName : facetNames) {
CategoryPath cp = new CategoryPath(facetName);
FacetRequest fq = new CountFacetRequest(cp, k);
- facetSearchParams.addFacetRequest(fq);
fRequests.add(fq);
}
+ FacetSearchParams facetSearchParams = new FacetSearchParams(fRequests, iParams);
TopScoreDocCollector topDocsCollector = TopScoreDocCollector.create(
searcher.getIndexReader().maxDoc(), true);
@@ -120,11 +118,9 @@ public class FacetTestUtils {
public static void add(FacetIndexingParams iParams, RandomIndexWriter iw,
TaxonomyWriter tw, String... strings) throws IOException {
- ArrayList<CategoryPath> cps = new ArrayList<CategoryPath>();
- CategoryPath cp = new CategoryPath(strings);
- cps.add(cp);
Document d = new Document();
- new CategoryDocumentBuilder(tw, iParams).setCategoryPaths(cps).build(d);
+ FacetFields facetFields = new FacetFields(tw, iParams);
+ facetFields.addFields(d, Collections.singletonList(new CategoryPath(strings)));
d.add(new TextField("content", "alpha", Field.Store.YES));
iw.addDocument(d);
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java Tue Jan 8 03:40:16 2013
@@ -34,7 +34,7 @@ import org.apache.lucene.facet.search.re
public class TestSimpleExample extends LuceneTestCase {
@Test
- public void testSimple () throws Exception {
+ public void testSimple() throws Exception {
ExampleResult res = new SimpleMain().runSimple();
assertNotNull("Null result!", res);
assertNotNull("Null facet result!", res.getFacetResults());
@@ -47,7 +47,7 @@ public class TestSimpleExample extends L
* As result, facets that without drill down got count of 2 will now get a count of 1.
*/
@Test
- public void testDrillDown () throws Exception {
+ public void testDrillDown() throws Exception {
ExampleResult res = new SimpleMain().runDrillDown();
assertNotNull("Null result!", res);
assertNotNull("Null facet result!", res.getFacetResults());
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/OrdinalPolicyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/OrdinalPolicyTest.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/OrdinalPolicyTest.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/OrdinalPolicyTest.java Tue Jan 8 03:40:16 2013
@@ -31,12 +31,10 @@ public class OrdinalPolicyTest extends L
public void testDefaultOrdinalPolicy() {
// check ordinal policy
OrdinalPolicy ordinalPolicy = OrdinalPolicy.ALL_PARENTS;
- assertFalse("default ordinal policy should not match root", ordinalPolicy
- .shouldAdd(TaxonomyReader.ROOT_ORDINAL));
+ assertFalse("default ordinal policy should not match root", ordinalPolicy.shouldAdd(TaxonomyReader.ROOT_ORDINAL));
for (int i = 0; i < 300; i++) {
int ordinal = 1 + random().nextInt(Integer.MAX_VALUE - 1);
- assertTrue("default ordinal policy should match " + ordinal,
- ordinalPolicy.shouldAdd(ordinal));
+ assertTrue("default ordinal policy should match " + ordinal, ordinalPolicy.shouldAdd(ordinal));
}
}
@@ -50,8 +48,7 @@ public class OrdinalPolicyTest extends L
String[] topLevelStrings = new String[10];
for (int i = 0; i < 10; i++) {
topLevelStrings[i] = Integer.valueOf(random().nextInt(30)).toString();
- topLevelOrdinals[i] = taxonomy.addCategory(new CategoryPath(
- topLevelStrings[i]));
+ topLevelOrdinals[i] = taxonomy.addCategory(new CategoryPath(topLevelStrings[i]));
}
int[] nonTopLevelOrdinals = new int[300];
for (int i = 0; i < 300; i++) {
@@ -61,22 +58,18 @@ public class OrdinalPolicyTest extends L
for (int j = 1; j < components.length; j++) {
components[j] = (Integer.valueOf(random().nextInt(30))).toString();
}
- nonTopLevelOrdinals[i] = taxonomy.addCategory(new CategoryPath(
- components));
+ nonTopLevelOrdinals[i] = taxonomy.addCategory(new CategoryPath(components));
}
// check ordinal policy
OrdinalPolicy ordinalPolicy = new NonTopLevelOrdinalPolicy();
ordinalPolicy.init(taxonomy);
- assertFalse("top level ordinal policy should not match root", ordinalPolicy
- .shouldAdd(TaxonomyReader.ROOT_ORDINAL));
+ assertFalse("top level ordinal policy should not match root", ordinalPolicy.shouldAdd(TaxonomyReader.ROOT_ORDINAL));
for (int i = 0; i < 10; i++) {
- assertFalse("top level ordinal policy should not match "
- + topLevelOrdinals[i],
+ assertFalse("top level ordinal policy should not match " + topLevelOrdinals[i],
ordinalPolicy.shouldAdd(topLevelOrdinals[i]));
}
for (int i = 0; i < 300; i++) {
- assertTrue("top level ordinal policy should match "
- + nonTopLevelOrdinals[i],
+ assertTrue("top level ordinal policy should match " + nonTopLevelOrdinals[i],
ordinalPolicy.shouldAdd(nonTopLevelOrdinals[i]));
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/PathPolicyTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/PathPolicyTest.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/PathPolicyTest.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/categorypolicy/PathPolicyTest.java Tue Jan 8 03:40:16 2013
@@ -29,10 +29,9 @@ public class PathPolicyTest extends Luce
@Test
public void testDefaultPathPolicy() {
// check path policy
- CategoryPath cp = new CategoryPath();
+ CategoryPath cp = CategoryPath.EMPTY;
PathPolicy pathPolicy = PathPolicy.ALL_CATEGORIES;
- assertFalse("default path policy should not accept root",
- pathPolicy.shouldAdd(cp));
+ assertFalse("default path policy should not accept root", pathPolicy.shouldAdd(cp));
for (int i = 0; i < 300; i++) {
int nComponents = 1 + random().nextInt(10);
String[] components = new String[nComponents];
@@ -40,9 +39,7 @@ public class PathPolicyTest extends Luce
components[j] = (Integer.valueOf(random().nextInt(30))).toString();
}
cp = new CategoryPath(components);
- assertTrue("default path policy should accept "
- + cp.toString('/'),
- pathPolicy.shouldAdd(cp));
+ assertTrue("default path policy should accept " + cp.toString('/'), pathPolicy.shouldAdd(cp));
}
}
@@ -74,7 +71,7 @@ public class PathPolicyTest extends Luce
// check ordinal policy
PathPolicy pathPolicy = new NonTopLevelPathPolicy();
assertFalse("top level path policy should not match root",
- pathPolicy.shouldAdd(new CategoryPath()));
+ pathPolicy.shouldAdd(CategoryPath.EMPTY));
for (int i = 0; i < 10; i++) {
assertFalse("top level path policy should not match "
+ topLevelPaths[i],
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/params/PerDimensionIndexingParamsTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/params/PerDimensionIndexingParamsTest.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/params/PerDimensionIndexingParamsTest.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/index/params/PerDimensionIndexingParamsTest.java Tue Jan 8 03:40:16 2013
@@ -1,15 +1,13 @@
package org.apache.lucene.facet.index.params;
-import org.apache.lucene.index.Term;
-import org.junit.Test;
+import java.util.Collections;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.index.params.CategoryListParams;
-import org.apache.lucene.facet.index.params.FacetIndexingParams;
-import org.apache.lucene.facet.index.params.PerDimensionIndexingParams;
import org.apache.lucene.facet.search.DrillDown;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.util.PartitionsUtils;
+import org.apache.lucene.index.Term;
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Test;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -32,9 +30,8 @@ public class PerDimensionIndexingParamsT
@Test
public void testTopLevelSettings() {
- FacetIndexingParams ifip = new PerDimensionIndexingParams();
- assertNotNull("Missing default category list", ifip
- .getAllCategoryListParams());
+ FacetIndexingParams ifip = new PerDimensionIndexingParams(Collections.<CategoryPath, CategoryListParams>emptyMap());
+ assertNotNull("Missing default category list", ifip.getAllCategoryListParams());
assertEquals(
"Expected default category list term is $facets:$fulltree$",
new Term("$facets", "$fulltree$"), ifip.getCategoryListParams(
@@ -67,15 +64,12 @@ public class PerDimensionIndexingParamsT
@Test
public void testCategoryListParamsAddition() {
- PerDimensionIndexingParams tlfip = new PerDimensionIndexingParams();
- CategoryListParams clp = new CategoryListParams(
- new Term("clp", "value"));
- tlfip.addCategoryListParams(new CategoryPath("a"), clp);
- assertEquals("Expected category list term is " + clp.getTerm(), clp
- .getTerm(), tlfip.getCategoryListParams(new CategoryPath("a"))
- .getTerm());
- assertNotSame("Unexpected default category list " + clp.getTerm(), clp,
- tlfip.getCategoryListParams(null));
+ CategoryListParams clp = new CategoryListParams(new Term("clp", "value"));
+ PerDimensionIndexingParams tlfip = new PerDimensionIndexingParams(
+ Collections.<CategoryPath,CategoryListParams> singletonMap(new CategoryPath("a"), clp));
+ assertEquals("Expected category list term is " + clp.getTerm(),
+ clp.getTerm(), tlfip.getCategoryListParams(new CategoryPath("a")).getTerm());
+ assertNotSame("Unexpected default category list " + clp.getTerm(), clp, tlfip.getCategoryListParams(null));
}
}
\ No newline at end of file
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/BaseTestTopK.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/BaseTestTopK.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/BaseTestTopK.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/BaseTestTopK.java Tue Jan 8 03:40:16 2013
@@ -1,6 +1,7 @@
package org.apache.lucene.facet.search;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -12,6 +13,7 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.facet.FacetTestBase;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.search.params.CountFacetRequest;
+import org.apache.lucene.facet.search.params.FacetRequest;
import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
@@ -97,12 +99,12 @@ public abstract class BaseTestTopK exten
}
protected FacetSearchParams searchParamsWithRequests(int numResults, int partitionSize) {
- FacetSearchParams res = getFacetedSearchParams(partitionSize);
- res.addFacetRequest(new CountFacetRequest(new CategoryPath("a"), numResults));
- res.addFacetRequest(new CountFacetRequest(new CategoryPath("a", "1"), numResults));
- res.addFacetRequest(new CountFacetRequest(new CategoryPath("a", "1", "10"), numResults));
- res.addFacetRequest(new CountFacetRequest(new CategoryPath("a", "2", "26", "267"), numResults));
- return res;
+ List<FacetRequest> facetRequests = new ArrayList<FacetRequest>();
+ facetRequests.add(new CountFacetRequest(new CategoryPath("a"), numResults));
+ facetRequests.add(new CountFacetRequest(new CategoryPath("a", "1"), numResults));
+ facetRequests.add(new CountFacetRequest(new CategoryPath("a", "1", "10"), numResults));
+ facetRequests.add(new CountFacetRequest(new CategoryPath("a", "2", "26", "267"), numResults));
+ return getFacetSearchParams(facetRequests, getFacetIndexingParams(partitionSize));
}
@Override
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/DrillDownTest.java Tue Jan 8 03:40:16 2013
@@ -2,16 +2,18 @@ package org.apache.lucene.facet.search;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.facet.index.CategoryDocumentBuilder;
+import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.index.params.CategoryListParams;
+import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.index.params.PerDimensionIndexingParams;
-import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
@@ -49,22 +51,18 @@ import org.junit.Test;
public class DrillDownTest extends LuceneTestCase {
- private FacetSearchParams defaultParams = new FacetSearchParams();
- private FacetSearchParams nonDefaultParams;
+ private FacetIndexingParams defaultParams = FacetIndexingParams.ALL_PARENTS;
+ private PerDimensionIndexingParams nonDefaultParams;
private static IndexReader reader;
private static DirectoryTaxonomyReader taxo;
private static Directory dir;
private static Directory taxoDir;
public DrillDownTest() {
- PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
- CategoryListParams aClParams = new CategoryListParams(new Term("testing_facets_a", "a"));
- CategoryListParams bClParams = new CategoryListParams(new Term("testing_facets_b", "b"));
-
- iParams.addCategoryListParams(new CategoryPath("a"), aClParams);
- iParams.addCategoryListParams(new CategoryPath("b"), bClParams);
-
- nonDefaultParams = new FacetSearchParams(iParams);
+ Map<CategoryPath,CategoryListParams> paramsMap = new HashMap<CategoryPath,CategoryListParams>();
+ paramsMap.put(new CategoryPath("a"), new CategoryListParams(new Term("testing_facets_a", "a")));
+ paramsMap.put(new CategoryPath("b"), new CategoryListParams(new Term("testing_facets_b", "b")));
+ nonDefaultParams = new PerDimensionIndexingParams(paramsMap);
}
@BeforeClass
@@ -91,8 +89,8 @@ public class DrillDownTest extends Lucen
if (i % 5 == 0) { // 20
paths.add(new CategoryPath("b"));
}
- CategoryDocumentBuilder builder = new CategoryDocumentBuilder(taxoWriter);
- builder.setCategoryPaths(paths).build(doc);
+ FacetFields facetFields = new FacetFields(taxoWriter);
+ facetFields.addFields(doc, paths);
writer.addDocument(doc);
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestCategoryListCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestCategoryListCache.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestCategoryListCache.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestCategoryListCache.java Tue Jan 8 03:40:16 2013
@@ -1,6 +1,7 @@
package org.apache.lucene.facet.search;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -16,6 +17,7 @@ import org.apache.lucene.facet.index.par
import org.apache.lucene.facet.search.cache.CategoryListCache;
import org.apache.lucene.facet.search.cache.CategoryListData;
import org.apache.lucene.facet.search.params.CountFacetRequest;
+import org.apache.lucene.facet.search.params.FacetRequest;
import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.search.results.FacetResult;
import org.apache.lucene.facet.taxonomy.CategoryPath;
@@ -74,22 +76,29 @@ public class TestCategoryListCache exten
private void doTest(boolean withCache, boolean plantWrongData) throws Exception {
Map<CategoryPath,Integer> truth = facetCountsTruth();
- CategoryPath cp = (CategoryPath) truth.keySet().toArray()[0]; // any category path will do for this test
- CountFacetRequest frq = new CountFacetRequest(cp, 10);
- FacetSearchParams sParams = getFacetedSearchParams();
- sParams.addFacetRequest(frq);
+ CategoryPath cp = (CategoryPath) truth.keySet().toArray()[0]; // any category path will do for this test
+ FacetIndexingParams iParams = FacetIndexingParams.ALL_PARENTS;
+ final CategoryListCache clCache;
if (withCache) {
//let's use a cached cl data
- FacetIndexingParams iparams = sParams.getFacetIndexingParams();
CategoryListParams clp = new CategoryListParams(); // default term ok as only single list
- CategoryListCache clCache = new CategoryListCache();
- clCache.loadAndRegister(clp, indexReader, taxoReader, iparams);
+ clCache = new CategoryListCache();
+ clCache.loadAndRegister(clp, indexReader, taxoReader, iParams);
if (plantWrongData) {
// let's mess up the cached data and then expect a wrong result...
messCachedData(clCache, clp);
}
- sParams.setClCache(clCache);
+ } else {
+ clCache = null;
}
+ List<FacetRequest> req = new ArrayList<FacetRequest>();
+ req.add(new CountFacetRequest(cp, 10));
+ final FacetSearchParams sParams = new FacetSearchParams(req, iParams) {
+ @Override
+ public CategoryListCache getCategoryListCache() {
+ return clCache;
+ }
+ };
FacetsCollector fc = new FacetsCollector(sParams, indexReader, taxoReader);
searcher.search(new MatchAllDocsQuery(), fc);
List<FacetResult> res = fc.getFacetResults();
@@ -110,9 +119,11 @@ public class TestCategoryListCache exten
public CategoryListIterator iterator(int partition) throws IOException {
final CategoryListIterator it = cld.iterator(partition);
return new CategoryListIterator() {
+ @Override
public boolean skipTo(int docId) throws IOException {
return it.skipTo(docId);
}
+ @Override
public long nextCategory() throws IOException {
long res = it.nextCategory();
if (res>Integer.MAX_VALUE) {
@@ -120,6 +131,7 @@ public class TestCategoryListCache exten
}
return res>1 ? res-1 : res+1;
}
+ @Override
public boolean init() throws IOException {
return it.init();
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetArrays.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetArrays.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetArrays.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetArrays.java Tue Jan 8 03:40:16 2013
@@ -1,11 +1,7 @@
package org.apache.lucene.facet.search;
-import org.junit.Test;
-
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.search.FacetArrays;
-import org.apache.lucene.facet.search.FloatArrayAllocator;
-import org.apache.lucene.facet.search.IntArrayAllocator;
+import org.junit.Test;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -27,26 +23,39 @@ import org.apache.lucene.facet.search.In
public class TestFacetArrays extends LuceneTestCase {
@Test
- public void testSimple() {
- FacetArrays arrays = new FacetArrays(new IntArrayAllocator(1, 1), new FloatArrayAllocator(1, 1));
-
- int[] intArray = arrays.getIntArray();
- // Set the element, then free
- intArray[0] = 1;
- arrays.free();
-
- // We should expect a cleared array back
- intArray = arrays.getIntArray();
- assertEquals("Expected a cleared array back, but the array is still filled", 0, intArray[0]);
-
- float[] floatArray = arrays.getFloatArray();
- // Set the element, then free
- floatArray[0] = 1.0f;
- arrays.free();
-
- // We should expect a cleared array back
- floatArray = arrays.getFloatArray();
- assertEquals("Expected a cleared array back, but the array is still filled", 0.0f, floatArray[0], 0.0);
+ public void testFacetArrays() {
+ for (boolean reusing : new boolean[] { false, true }) {
+ final FacetArrays arrays;
+ if (reusing) {
+ arrays = new ReusingFacetArrays(new ArraysPool(1, 1));
+ } else {
+ arrays = new FacetArrays(1);
+ }
+
+ int[] intArray = arrays.getIntArray();
+ // Set the element, then free
+ intArray[0] = 1;
+ arrays.free();
+
+ // We should expect a cleared array back
+ int[] newIntArray = arrays.getIntArray();
+ assertEquals("Expected a cleared array back, but the array is still filled", 0, newIntArray[0]);
+
+ float[] floatArray = arrays.getFloatArray();
+ // Set the element, then free
+ floatArray[0] = 1.0f;
+ arrays.free();
+
+ // We should expect a cleared array back
+ float[] newFloatArray = arrays.getFloatArray();
+ assertEquals("Expected a cleared array back, but the array is still filled", 0.0f, newFloatArray[0], 0.0);
+
+ if (reusing) {
+ // same instance should be returned after free()
+ assertSame("ReusingFacetArrays did not reuse the array!", intArray, newIntArray);
+ assertSame("ReusingFacetArrays did not reuse the array!", floatArray, newFloatArray);
+ }
+ }
}
}
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsAccumulatorWithComplement.java Tue Jan 8 03:40:16 2013
@@ -123,18 +123,15 @@ public class TestFacetsAccumulatorWithCo
}
- @Override
- protected FacetSearchParams getFacetedSearchParams() {
- FacetSearchParams res = super.getFacetedSearchParams();
- res.addFacetRequest(new CountFacetRequest(new CategoryPath("root","a"), 10));
- return res;
+ private FacetSearchParams getFacetSearchParams() {
+ return new FacetSearchParams(new CountFacetRequest(new CategoryPath("root","a"), 10));
}
/** compute facets with certain facet requests and docs */
private List<FacetResult> findFacets(ScoredDocIDs sDocids, boolean withComplement) throws IOException {
FacetsAccumulator fAccumulator =
- new StandardFacetsAccumulator(getFacetedSearchParams(), indexReader, taxoReader);
+ new StandardFacetsAccumulator(getFacetSearchParams(), indexReader, taxoReader);
fAccumulator.setComplementThreshold(
withComplement ?
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestFacetsCollector.java Tue Jan 8 03:40:16 2013
@@ -1,13 +1,13 @@
package org.apache.lucene.facet.search;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import org.apache.lucene.analysis.core.KeywordAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.document.StringField;
-import org.apache.lucene.facet.index.CategoryDocumentBuilder;
+import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.search.params.ScoreFacetRequest;
import org.apache.lucene.facet.search.results.FacetResult;
@@ -55,20 +55,18 @@ public class TestFacetsCollector extends
IndexWriter iw = new IndexWriter(indexDir, new IndexWriterConfig(
TEST_VERSION_CURRENT, new KeywordAnalyzer()));
- CategoryDocumentBuilder cdb = new CategoryDocumentBuilder(taxonomyWriter);
- Iterable<CategoryPath> cats = Arrays.asList(new CategoryPath("a"));
+ FacetFields facetFields = new FacetFields(taxonomyWriter);
for(int i = atLeast(2000); i > 0; --i) {
Document doc = new Document();
doc.add(new StringField("f", "v", Store.NO));
- cdb.setCategoryPaths(cats);
- iw.addDocument(cdb.build(doc));
+ facetFields.addFields(doc, Collections.singletonList(new CategoryPath("a")));
+ iw.addDocument(doc);
}
taxonomyWriter.close();
iw.close();
- FacetSearchParams sParams = new FacetSearchParams();
- sParams.addFacetRequest(new ScoreFacetRequest(new CategoryPath("a"), 10));
+ FacetSearchParams sParams = new FacetSearchParams(new ScoreFacetRequest(new CategoryPath("a"), 10));
DirectoryReader r = DirectoryReader.open(indexDir);
DirectoryTaxonomyReader taxo = new DirectoryTaxonomyReader(taxoDir);
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java Tue Jan 8 03:40:16 2013
@@ -1,8 +1,12 @@
package org.apache.lucene.facet.search;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
@@ -11,6 +15,7 @@ import org.apache.lucene.facet.index.par
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.index.params.PerDimensionIndexingParams;
import org.apache.lucene.facet.search.params.CountFacetRequest;
+import org.apache.lucene.facet.search.params.FacetRequest;
import org.apache.lucene.facet.search.params.FacetSearchParams;
import org.apache.lucene.facet.search.params.FacetRequest.ResultMode;
import org.apache.lucene.facet.search.results.FacetResult;
@@ -70,7 +75,7 @@ public class TestMultipleCategoryLists e
/**
* Configure with no custom counting lists
*/
- PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
+ PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(Collections.<CategoryPath, CategoryListParams>emptyMap());
seedIndex(iw, tw, iParams);
@@ -89,7 +94,7 @@ public class TestMultipleCategoryLists e
// Obtain facets results and hand-test them
assertCorrectResults(facetsCollector);
- DocsEnum td = _TestUtil.docs(random(), ir, "$facets", new BytesRef("$fulltree$"), MultiFields.getLiveDocs(ir), null, 0);
+ DocsEnum td = _TestUtil.docs(random(), ir, "$facets", new BytesRef("$fulltree$"), MultiFields.getLiveDocs(ir), null, DocsEnum.FLAG_NONE);
assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
tr.close();
@@ -109,9 +114,9 @@ public class TestMultipleCategoryLists e
TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1],
OpenMode.CREATE);
- PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
- iParams.addCategoryListParams(new CategoryPath("Author"),
- new CategoryListParams(new Term("$author", "Authors")));
+ PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(
+ Collections.singletonMap(new CategoryPath("Author"),
+ new CategoryListParams(new Term("$author", "Authors"))));
seedIndex(iw, tw, iParams);
IndexReader ir = iw.getReader();
@@ -148,11 +153,10 @@ public class TestMultipleCategoryLists e
TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1],
OpenMode.CREATE);
- PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
- iParams.addCategoryListParams(new CategoryPath("Band"),
- new CategoryListParams(new Term("$music", "Bands")));
- iParams.addCategoryListParams(new CategoryPath("Composer"),
- new CategoryListParams(new Term("$music", "Composers")));
+ Map<CategoryPath,CategoryListParams> paramsMap = new HashMap<CategoryPath,CategoryListParams>();
+ paramsMap.put(new CategoryPath("Band"), new CategoryListParams(new Term("$music", "Bands")));
+ paramsMap.put(new CategoryPath("Composer"), new CategoryListParams(new Term("$music", "Composers")));
+ PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(paramsMap);
seedIndex(iw, tw, iParams);
IndexReader ir = iw.getReader();
@@ -182,7 +186,7 @@ public class TestMultipleCategoryLists e
}
private void assertPostingListExists(String field, String text, IndexReader ir) throws IOException {
- DocsEnum de = _TestUtil.docs(random(), ir, field, new BytesRef(text), null, null, 0);
+ DocsEnum de = _TestUtil.docs(random(), ir, field, new BytesRef(text), null, null, DocsEnum.FLAG_NONE);
assertTrue(de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
}
@@ -195,11 +199,10 @@ public class TestMultipleCategoryLists e
// create and open a taxonomy writer
TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1], OpenMode.CREATE);
- PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
- iParams.addCategoryListParams(new CategoryPath("Band"),
- new CategoryListParams(new Term("$bands", "Bands")));
- iParams.addCategoryListParams(new CategoryPath("Composer"),
- new CategoryListParams(new Term("$composers", "Composers")));
+ Map<CategoryPath,CategoryListParams> paramsMap = new HashMap<CategoryPath,CategoryListParams>();
+ paramsMap.put(new CategoryPath("Band"), new CategoryListParams(new Term("$bands", "Bands")));
+ paramsMap.put(new CategoryPath("Composer"), new CategoryListParams(new Term("$composers", "Composers")));
+ PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(paramsMap);
seedIndex(iw, tw, iParams);
IndexReader ir = iw.getReader();
@@ -236,13 +239,11 @@ public class TestMultipleCategoryLists e
TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1],
OpenMode.CREATE);
- PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
- iParams.addCategoryListParams(new CategoryPath("Band"),
- new CategoryListParams(new Term("$music", "music")));
- iParams.addCategoryListParams(new CategoryPath("Composer"),
- new CategoryListParams(new Term("$music", "music")));
- iParams.addCategoryListParams(new CategoryPath("Author"),
- new CategoryListParams(new Term("$literature", "Authors")));
+ Map<CategoryPath,CategoryListParams> paramsMap = new HashMap<CategoryPath,CategoryListParams>();
+ paramsMap.put(new CategoryPath("Band"), new CategoryListParams(new Term("$music", "music")));
+ paramsMap.put(new CategoryPath("Composer"), new CategoryListParams(new Term("$music", "music")));
+ paramsMap.put(new CategoryPath("Author"), new CategoryListParams(new Term("$literature", "Authors")));
+ PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(paramsMap);
seedIndex(iw, tw, iParams);
@@ -329,20 +330,21 @@ public class TestMultipleCategoryLists e
IndexSearcher searcher) throws IOException {
// step 1: collect matching documents into a collector
Query q = new MatchAllDocsQuery();
- TopScoreDocCollector topDocsCollector = TopScoreDocCollector.create(10,
- true);
+ TopScoreDocCollector topDocsCollector = TopScoreDocCollector.create(10, true);
- // Faceted search parameters indicate which facets are we interested in
- FacetSearchParams facetSearchParams = new FacetSearchParams(iParams);
-
- facetSearchParams.addFacetRequest(new CountFacetRequest(new CategoryPath("Band"), 10));
+ List<FacetRequest> facetRequests = new ArrayList<FacetRequest>();
+ facetRequests.add(new CountFacetRequest(new CategoryPath("Band"), 10));
CountFacetRequest bandDepth = new CountFacetRequest(new CategoryPath("Band"), 10);
bandDepth.setDepth(2);
// makes it easier to check the results in the test.
bandDepth.setResultMode(ResultMode.GLOBAL_FLAT);
- facetSearchParams.addFacetRequest(bandDepth);
- facetSearchParams.addFacetRequest(new CountFacetRequest(new CategoryPath("Author"), 10));
- facetSearchParams.addFacetRequest(new CountFacetRequest(new CategoryPath("Band", "Rock & Pop"), 10));
+ facetRequests.add(bandDepth);
+ facetRequests.add(new CountFacetRequest(new CategoryPath("Author"), 10));
+ facetRequests.add(new CountFacetRequest(new CategoryPath("Band", "Rock & Pop"), 10));
+
+ // Faceted search parameters indicate which facets are we interested in
+ FacetSearchParams facetSearchParams = new FacetSearchParams(facetRequests, iParams);
+
// perform documents search and facets accumulation
FacetsCollector facetsCollector = new FacetsCollector(facetSearchParams, ir, tr);
Modified: lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestScoredDocIdCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestScoredDocIdCollector.java?rev=1430130&r1=1430129&r2=1430130&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestScoredDocIdCollector.java (original)
+++ lucene/dev/branches/lucene4547/lucene/facet/src/test/org/apache/lucene/facet/search/TestScoredDocIdCollector.java Tue Jan 8 03:40:16 2013
@@ -80,7 +80,7 @@ public class TestScoredDocIdCollector ex
}
// verify by facet values
- List<FacetResult> countRes = findFacets(scoredDocIDs, getFacetedSearchParams());
+ List<FacetResult> countRes = findFacets(scoredDocIDs, getFacetSearchParams());
List<FacetResult> scoreRes = findFacets(scoredDocIDs, sumScoreSearchParams());
assertEquals("Wrong number of facet count results!", 1, countRes.size());
@@ -160,16 +160,11 @@ public class TestScoredDocIdCollector ex
/* use a scoring aggregator */
private FacetSearchParams sumScoreSearchParams() {
// this will use default faceted indexing params, not altering anything about indexing
- FacetSearchParams res = super.getFacetedSearchParams();
- res.addFacetRequest(new ScoreFacetRequest(new CategoryPath("root", "a"), 10));
- return res;
+ return new FacetSearchParams(new ScoreFacetRequest(new CategoryPath("root", "a"), 10));
}
- @Override
- protected FacetSearchParams getFacetedSearchParams() {
- FacetSearchParams res = super.getFacetedSearchParams();
- res.addFacetRequest(new CountFacetRequest(new CategoryPath("root","a"), 10));
- return res;
+ private FacetSearchParams getFacetSearchParams() {
+ return new FacetSearchParams(new CountFacetRequest(new CategoryPath("root","a"), 10));
}
}
\ No newline at end of file