You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by sh...@apache.org on 2009/01/12 10:09:21 UTC

svn commit: r733656 - in /lucene/solr/trunk/src: java/org/apache/solr/handler/component/FacetComponent.java test/org/apache/solr/TestDistributedSearch.java test/test-files/solr/conf/schema.xml

Author: shalin
Date: Mon Jan 12 01:09:20 2009
New Revision: 733656

URL: http://svn.apache.org/viewvc?rev=733656&view=rev
Log:
SOLR-951 -- Fixed bug in FacetComponent's refinement query generation for local params

Modified:
    lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java
    lucene/solr/trunk/src/test/org/apache/solr/TestDistributedSearch.java
    lucene/solr/trunk/src/test/test-files/solr/conf/schema.xml

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java?rev=733656&r1=733655&r2=733656&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/component/FacetComponent.java Mon Jan 12 01:09:20 2009
@@ -106,7 +106,7 @@
           // add terms into the original facet.field command
           // do it via parameter reference to avoid another layer of encoding.
           if (dff.localParams != null) {
-            facetCommand = commandPrefix+termsKey+dff.facetStr.substring(2);
+            facetCommand = commandPrefix+termsKey + " " + dff.facetStr.substring(2);
           } else {
             facetCommand = commandPrefix+termsKey+'}'+dff.field;
           }

Modified: lucene/solr/trunk/src/test/org/apache/solr/TestDistributedSearch.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/TestDistributedSearch.java?rev=733656&r1=733655&r2=733656&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/TestDistributedSearch.java (original)
+++ lucene/solr/trunk/src/test/org/apache/solr/TestDistributedSearch.java Mon Jan 12 01:09:20 2009
@@ -480,6 +480,14 @@
     index(id,12, i1, 379 ,t1,"Great works are performed, not by strength, but by perseverance.");
     index(id,13, i1, 232 ,t1,"no eggs on wall, lesson learned", oddField, "odd man out");
 
+    index(id, 14, "SubjectTerms_mfacet", new String[]  {"mathematical models", "mathematical analysis"});
+    index(id, 15, "SubjectTerms_mfacet", new String[]  {"test 1", "test 2", "test3"});
+    index(id, 16, "SubjectTerms_mfacet", new String[]  {"test 1", "test 2", "test3"});
+    String[] vals = new String[100];
+    for (int i=0; i<100; i++) {
+      vals[i] = "test " + i;
+    }
+    index(id, 17, "SubjectTerms_mfacet", vals);
     commit();
 
     handle.clear();
@@ -551,6 +559,7 @@
     ,"facet.field",t1
     ,"fq","{!tag=a}id:[1 TO 7]", "fq","{!tag=b}id:[3 TO 9]"
     );
+    query("q", "*:*", "facet", "true", "facet.field", "{!ex=t1}SubjectTerms_mfacet", "fq", "{!tag=t1}SubjectTerms_mfacet:(test 1)", "facet.limit", "10", "facet.mincount", "1");
 
     // test field that is valid in schema but missing in all shards
     query("q","*:*", "rows",100, "facet","true", "facet.field",missingField, "facet.mincount",2);

Modified: lucene/solr/trunk/src/test/test-files/solr/conf/schema.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/test-files/solr/conf/schema.xml?rev=733656&r1=733655&r2=733656&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/test-files/solr/conf/schema.xml (original)
+++ lucene/solr/trunk/src/test/test-files/solr/conf/schema.xml Mon Jan 12 01:09:20 2009
@@ -455,7 +455,7 @@
    <dynamicField name="t_*"  type="text"    indexed="true"  stored="true"/>
    <dynamicField name="tv_*"  type="text" indexed="true"  stored="true" 
       termVectors="true" termPositions="true" termOffsets="true"/>
-   <dynamicField name="tv_mv_*"  type="text" indexed="true"  stored="true" multivalued="true"
+   <dynamicField name="tv_mv_*"  type="text" indexed="true"  stored="true" multiValued="true"
       termVectors="true" termPositions="true" termOffsets="true"/>
 
    <!-- special fields for dynamic copyField test -->
@@ -469,6 +469,8 @@
    <!-- ignored becuase not stored or indexed -->
    <dynamicField name="*_ignored" type="text" indexed="false" stored="false"/>
 
+   <dynamicField name="*_mfacet" type="string" indexed="true" stored="false" multiValued="true" />
+
  </fields>
 
  <defaultSearchField>text</defaultSearchField>