Skip to content

Commit

Permalink
Should always use indexFieldName for the inverted index.
Browse files Browse the repository at this point in the history
  • Loading branch information
wonlay committed Jun 29, 2012
1 parent c235c67 commit 5ba927b
Show file tree
Hide file tree
Showing 8 changed files with 50 additions and 23 deletions.
Expand Up @@ -37,6 +37,7 @@ public class AdaptiveFacetFilter extends RandomAccessFilter {
public interface FacetDataCacheBuilder{
FacetDataCache build(BoboIndexReader reader);
String getName();
String getIndexFieldName();
}

// If takeComplement is true, we still return the filter for NotValues . Therefore, the calling function of this class needs to apply NotFilter on top
Expand Down Expand Up @@ -87,8 +88,8 @@ public RandomAccessDocIdSet getRandomAccessDocIdSet(BoboIndexReader reader)
// takeComplement is only used to choose between TermListRandomAccessDocIdSet and innerDocSet
int validFreqCount = _takeComplement ? (totalCount - freqCount) : freqCount;

if (_facetDataCacheBuilder.getName() != null && ((validFreqCount<<1) < totalCount)) {
return new TermListRandomAccessDocIdSet(_facetDataCacheBuilder.getName(), innerDocSet, validVals, reader);
if (_facetDataCacheBuilder.getIndexFieldName() != null && ((validFreqCount<<1) < totalCount)) {
return new TermListRandomAccessDocIdSet(_facetDataCacheBuilder.getIndexFieldName(), innerDocSet, validVals, reader);
}
else{
return innerDocSet;
Expand Down
Expand Up @@ -107,7 +107,7 @@ public MultiValueFacetHandler(String name, Set<String> depends)
@Override
public DocComparatorSource getDocComparatorSource()
{
return new MultiValueFacetDataCache.MultiFacetDocComparatorSource(new MultiDataCacheBuilder(getName()));
return new MultiValueFacetDataCache.MultiFacetDocComparatorSource(new MultiDataCacheBuilder(getName(), _indexFieldName));
}


Expand Down Expand Up @@ -179,8 +179,8 @@ public MultiValueFacetDataCache load(BoboIndexReader reader, WorkArea workArea)
@Override
public RandomAccessFilter buildRandomAccessFilter(String value, Properties prop) throws IOException
{
MultiValueFacetFilter f= new MultiValueFacetFilter(new MultiDataCacheBuilder(getName()), value);
AdaptiveFacetFilter af = new AdaptiveFacetFilter(new SimpleDataCacheBuilder(getName()), f, new String[]{value}, false);
MultiValueFacetFilter f= new MultiValueFacetFilter(new MultiDataCacheBuilder(getName(), _indexFieldName), value);
AdaptiveFacetFilter af = new AdaptiveFacetFilter(new SimpleDataCacheBuilder(getName(), _indexFieldName), f, new String[]{value}, false);
return af;
}

Expand Down Expand Up @@ -214,7 +214,7 @@ public RandomAccessFilter buildRandomAccessOrFilter(String[] vals,Properties pro
{
MultiValueORFacetFilter f = new MultiValueORFacetFilter(this,vals,false); // catch the "not" case later
if (!isNot) {
AdaptiveFacetFilter af = new AdaptiveFacetFilter(new SimpleDataCacheBuilder(getName()), f, vals, false);
AdaptiveFacetFilter af = new AdaptiveFacetFilter(new SimpleDataCacheBuilder(getName(), _indexFieldName), f, vals, false);
return af;
}
else{
Expand Down
Expand Up @@ -57,7 +57,7 @@ public MultiValueWithWeightFacetHandler(String name)
@Override
public RandomAccessFilter buildRandomAccessFilter(String value, Properties prop) throws IOException
{
MultiValueFacetFilter f= new MultiValueFacetFilter(new MultiDataCacheBuilder(getName()), value);
MultiValueFacetFilter f= new MultiValueFacetFilter(new MultiDataCacheBuilder(getName(), _indexFieldName), value);
return f;
}
@Override
Expand Down
Expand Up @@ -109,7 +109,7 @@ public RandomAccessFilter buildRandomAccessOrFilter(String[] vals,Properties pro
{
if (vals.length > 1)
{
return new BitSetFilter(new ValueConverterBitSetBuilder(FacetRangeValueConverter.instance, vals, isNot), new SimpleDataCacheBuilder(getName()));
return new BitSetFilter(new ValueConverterBitSetBuilder(FacetRangeValueConverter.instance, vals, isNot), new SimpleDataCacheBuilder(getName(), _indexFieldName));
}
else
{
Expand Down
Expand Up @@ -113,9 +113,14 @@ public FacetDataCache build(BoboIndexReader reader) {

@Override
public String getName() {
return _indexFieldName;
return SimpleFacetHandler.this.getName();
}


@Override
public String getIndexFieldName() {
return _indexFieldName;
}

}, f, new String[]{value}, false);
return af;
}
Expand Down Expand Up @@ -148,11 +153,16 @@ public FacetDataCache build(BoboIndexReader reader) {
return getFacetData(reader);
}

@Override
public String getName() {
return _indexFieldName;
}

@Override
public String getName() {
return SimpleFacetHandler.this.getName();
}

@Override
public String getIndexFieldName() {
return _indexFieldName;
}

}, f, vals, isNot);
}
else if(vals.length == 1)
Expand Down
Expand Up @@ -6,14 +6,22 @@

public class MultiDataCacheBuilder implements FacetDataCacheBuilder{
private String name;
public MultiDataCacheBuilder( String name) {
private String indexFieldName;

public MultiDataCacheBuilder(String name, String indexFieldName) {
this.name = name;

this.indexFieldName = indexFieldName;
}

public MultiValueFacetDataCache build(BoboIndexReader reader) {
return (MultiValueFacetDataCache) reader.getFacetData(name);
}

public String getName() {
return name;
}
}
}

public String getIndexFieldName() {
return indexFieldName;
}
}
Expand Up @@ -39,7 +39,7 @@ public MultiRangeFacetHandler(String name, String indexFieldName, Term sizePaylo

@Override
public DocComparatorSource getDocComparatorSource() {
return new MultiValueFacetDataCache.MultiFacetDocComparatorSource(new MultiDataCacheBuilder(getName()));
return new MultiValueFacetDataCache.MultiFacetDocComparatorSource(new MultiDataCacheBuilder(getName(), _indexFieldName));
}

@Override
Expand Down
Expand Up @@ -6,14 +6,22 @@

public class SimpleDataCacheBuilder implements FacetDataCacheBuilder{
private String name;
public SimpleDataCacheBuilder( String name) {
private String indexFieldName;

public SimpleDataCacheBuilder(String name, String indexFieldName) {
this.name = name;

this.indexFieldName = indexFieldName;
}

public FacetDataCache build(BoboIndexReader reader) {
return (FacetDataCache) reader.getFacetData(name);
}

public String getName() {
return name;
}
}

public String getIndexFieldName() {
return indexFieldName;
}
}

0 comments on commit 5ba927b

Please sign in to comment.