You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@lucene.apache.org by kumaran <ku...@gmail.com> on 2014/04/09 08:01:06 UTC
what is the difference between usages of ChainedFilter and
FilterClause in lucene?
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)