You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2013/12/13 07:42:38 UTC
svn commit: r1550657 - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/queries/
lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/
solr/ solr/core/ solr/core/src/java/org/apache/solr/search/
solr/core/src/test/org/apache/solr/...
Author: shalin
Date: Fri Dec 13 06:42:38 2013
New Revision: 1550657
URL: http://svn.apache.org/r1550657
Log:
SOLR-3702: A 'concat' function query to support concatenation of Strings
Added:
lucene/dev/branches/branch_4x/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConcatenateFunction.java
- copied unchanged from r1550656, lucene/dev/trunk/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/ConcatenateFunction.java
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/queries/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/CHANGES.txt
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1550657&r1=1550656&r2=1550657&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Fri Dec 13 06:42:38 2013
@@ -91,6 +91,9 @@ New Features
* SOLR-5522: Remove EditFileRequestHandler from 4x (Erick Erickson)
+* SOLR-3702: A 'concat' function query to support concatenation of Strings.
+ (Ted Strauss, Andrey Kudryavtsev via shalin)
+
Bug Fixes
----------------------
Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java?rev=1550657&r1=1550656&r2=1550657&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java Fri Dec 13 06:42:38 2013
@@ -779,6 +779,13 @@ public abstract class ValueSourceParser
}
});
+ addParser("concat", new ValueSourceParser() {
+ @Override
+ public ValueSource parse(FunctionQParser fp) throws SyntaxError {
+ return new ConcatenateFunction(fp.parseValueSourceList());
+ }
+ });
+
}
private static TInfo parseTerm(FunctionQParser fp) throws SyntaxError {
Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java?rev=1550657&r1=1550656&r2=1550657&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java Fri Dec 13 06:42:38 2013
@@ -756,4 +756,24 @@ public class TestFunctionQuery extends S
}
}
+ public void testConcatFunction() {
+ clearIndex();
+
+ assertU(adoc("id", "1", "field1_t", "buzz", "field2_t", "word"));
+ assertU(adoc("id", "2", "field1_t", "1", "field2_t", "2","field4_t", "4"));
+ assertU(commit());
+
+ assertQ(req("q","id:1",
+ "fl","field:concat(field1_t,field2_t)"),
+ " //str[@name='field']='buzzword'");
+
+ assertQ(req("q","id:2",
+ "fl","field:concat(field1_t,field2_t, field3_t, field4_t)"),
+ " //str[@name='field']='124'");
+
+ assertQ(req("q","id:1",
+ "fl","field:def(concat(field3_t, field4_t), 'defValue')"),
+ " //str[@name='field']='defValue'");
+ }
+
}