You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2011/01/20 20:31:33 UTC
svn commit: r1061473 - in /lucene/dev/branches/branch_3x: ./ lucene/ solr/
solr/CHANGES.txt solr/src/java/org/apache/solr/request/SimpleFacets.java
solr/src/test/org/apache/solr/request/SimpleFacetsTest.java
Author: yonik
Date: Thu Jan 20 19:31:33 2011
New Revision: 1061473
URL: http://svn.apache.org/viewvc?rev=1061473&view=rev
Log:
SOLR-2325: allow tagging and exclusion of many query for faceting
Modified:
lucene/dev/branches/branch_3x/ (props changed)
lucene/dev/branches/branch_3x/lucene/ (props changed)
lucene/dev/branches/branch_3x/solr/ (props changed)
lucene/dev/branches/branch_3x/solr/CHANGES.txt
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/request/SimpleFacets.java
lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/request/SimpleFacetsTest.java
Modified: lucene/dev/branches/branch_3x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/CHANGES.txt?rev=1061473&r1=1061472&r2=1061473&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/solr/CHANGES.txt Thu Jan 20 19:31:33 2011
@@ -244,6 +244,9 @@ New Features
* SOLR-2188: Added "maxTokenLength" argument to the factories for ClassicTokenizer,
StandardTokenizer, and UAX29URLEmailTokenizer. (Steven Rowe)
+* SOLR-2325: Allow tagging and exlcusion of main query for faceting. (yonik)
+
+
Optimizations
----------------------
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/request/SimpleFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/request/SimpleFacets.java?rev=1061473&r1=1061472&r2=1061473&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/request/SimpleFacets.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/request/SimpleFacets.java Thu Jan 20 19:31:33 2011
@@ -133,14 +133,17 @@ public class SimpleFacets {
List<Query> qlist = new ArrayList<Query>();
// add the base query
- qlist.add(rb.getQuery());
+ if (!excludeSet.containsKey(rb.getQuery())) {
+ qlist.add(rb.getQuery());
+ }
// add the filters
- for (Query q : rb.getFilters()) {
- if (!excludeSet.containsKey(q)) {
- qlist.add(q);
+ if (rb.getFilters() != null) {
+ for (Query q : rb.getFilters()) {
+ if (!excludeSet.containsKey(q)) {
+ qlist.add(q);
+ }
}
-
}
// get the new base docset for this facet
Modified: lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/request/SimpleFacetsTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/request/SimpleFacetsTest.java?rev=1061473&r1=1061472&r2=1061473&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/request/SimpleFacetsTest.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/request/SimpleFacetsTest.java Thu Jan 20 19:31:33 2011
@@ -157,6 +157,16 @@ public class SimpleFacetsTest extends So
,"//lst[@name='trait_s']/int[@name='Pig'][.='1']"
);
+ // test excluding main query
+ assertQ(req("q", "{!tag=main}id:43"
+ ,"facet", "true"
+ ,"facet.query", "{!key=foo}id:42"
+ ,"facet.query", "{!ex=main key=bar}id:42" // only matches when we exclude main query
+ )
+ ,"//lst[@name='facet_queries']/int[@name='foo'][.='0']"
+ ,"//lst[@name='facet_queries']/int[@name='bar'][.='1']"
+ );
+
assertQ("check counts for applied facet queries using filtering (fq)",
req("q", "id:[42 TO 47]"
,"facet", "true"