what is the difference between usages of ChainedFilter and FilterClause in lucene?

kumaran <[email protected]>
Newsgroups gmane.comp.jakarta.lucene.user,gmane.comp.apache.commons.general
Message-ID <CAHTScUh2gGDr-+YPf-LZt5HZCvrCb4bBUQkQE4rQREyqybg9CA@mail.gmail.com>
Am using lucene 3.0.3. i have two filters (BooleanFilter and
DistanceFilter).what is the best way to do logical operations between these
two filters?

BooleanFilter: ( OR,AND filters using FilterClause )

    BooleanFilter boolFilter = new BooleanFilter();
    Term term = new Term("city", "texas");
    TermsFilter filter = new TermsFilter();
    filter.addTerm(term);
    FilterClause filterClause = new FilterClause(filter,
BooleanClause.Occur.SHOULD);
    boolFilter.add(filterClause);

    Term term1 = new Term("skill", "java");
    TermsFilter filter1 = new TermsFilter();
    filter1.addTerm(term1);
    FilterClause filterClause1 = new FilterClause(filter1,
BooleanClause.Occur.MUST);
    boolFilter.add(filterClause1);

 Distancefilter:

DistanceQueryBuilder queryBuilder = new DistanceQueryBuilder(latitude,
longitude, radius, "lat", "lon",
CartesianTierPlotter.DEFALT_FIELD_PREFIX, true);Filter distFilter =
queryBuilder.getFilter()

 i have tried two options. Combining BooleanFilter and Distancefilter using
ChainedFilter. Next one is making another FilterClause for DistanceFilter.

ChainedFilter is working. FilterClause is not working.(trace in ERROR:)
Please explain me about general difference between ChainedFilter and
FilterClause in lucene ?

ERROR:

java.lang.NullPointerException at
org.apache.lucene.spatial.tier.DistanceFieldComparatorSource$DistanceScoreDocLookupComparator.copy(DistanceFieldComparatorSource.java:105)
at
org.apache.lucene.search.TopFieldCollector$OneComparatorNonScoringCollector.collect(TopFieldCollector.java:89)
at
org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:258)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:218) at
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:199) at
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:177) at
org.apache.lucene.search.Searcher.search(Searcher.java:49) at
com.zoho.training.RadialSearch.search(RadialSearch.java:246) at
com.zoho.training.RadialSearch.main(RadialSearch.java:281) Exception in
thread "main" java.lang.NullPointerException at
org.apache.lucene.spatial.tier.DistanceFieldComparatorSource$DistanceScoreDocLookupComparator.copy(DistanceFieldComparatorSource.java:105)
at
org.apache.lucene.search.TopFieldCollector$OneComparatorNonScoringCollector.collect(TopFieldCollector.java:89)
at
org.apache.lucene.search.IndexSearcher.searchWithFilter(IndexSearcher.java:258)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:218) at
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:199) at
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:177) at
org.apache.lucene.search.Searcher.search(Searcher.java:49) at
com.zoho.training.RadialSearch.search(RadialSearch.java:246) at
com.zoho.training.RadialSearch.main(RadialSearch.java:281)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.