You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by gs...@apache.org on 2013/07/05 20:51:16 UTC

svn commit: r1500097 - in /lucene/dev/trunk/solr/core/src: java/org/apache/solr/handler/loader/CSVLoaderBase.java test/org/apache/solr/handler/TestCSVLoader.java

Author: gsingers
Date: Fri Jul  5 18:51:16 2013
New Revision: 1500097

URL: http://svn.apache.org/r1500097
Log:
SOLR-5003: add rowidOffset as well

Modified:
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/loader/CSVLoaderBase.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/loader/CSVLoaderBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/loader/CSVLoaderBase.java?rev=1500097&r1=1500096&r2=1500097&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/loader/CSVLoaderBase.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/loader/CSVLoaderBase.java Fri Jul  5 18:51:16 2013
@@ -56,6 +56,7 @@ abstract class CSVLoaderBase extends Con
   public static final String OVERWRITE="overwrite";
   public static final String LITERALS_PREFIX = "literal.";
   public static final String ROW_ID = "rowid";
+  public static final String ROW_ID_OFFSET = "rowidOffset";
 
   private static Pattern colonSplit = Pattern.compile(":");
   private static Pattern commaSplit = Pattern.compile(",");
@@ -74,6 +75,7 @@ abstract class CSVLoaderBase extends Con
   CSVLoaderBase.FieldAdder[] adders;
 
   String rowId = null;// if not null, add a special field by the name given with the line number/row id as the value
+  int rowIdOffset = 0; //add to line/rowid before creating the field
 
   int skipLines;    // number of lines to skip at start of file
 
@@ -190,6 +192,7 @@ abstract class CSVLoaderBase extends Con
       if (escape.length()!=1) throw new SolrException( SolrException.ErrorCode.BAD_REQUEST,"Invalid escape:'"+escape+"'");
     }
     rowId = params.get(ROW_ID);
+    rowIdOffset = params.getInt(ROW_ID_OFFSET, 0);
 
     // if only encapsulator or escape is set, disable the other escaping mechanism
     if (encapsulator == null && escape != null) {
@@ -398,7 +401,7 @@ abstract class CSVLoaderBase extends Con
       doc.addField(fn, val);
     }
     if (rowId != null){
-      doc.addField(rowId, line);
+      doc.addField(rowId, line + rowIdOffset);
     }
     template.solrDoc = doc;
     processor.processAdd(template);

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java?rev=1500097&r1=1500096&r2=1500097&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/handler/TestCSVLoader.java Fri Jul  5 18:51:16 2013
@@ -116,6 +116,14 @@ public class TestCSVLoader extends SolrT
     assertQ(req("rowid_i:1"),"//*[@numFound='1']");
     assertQ(req("rowid_i:2"),"//*[@numFound='1']");
     assertQ(req("rowid_i:100"),"//*[@numFound='0']");
+
+    makeFile("id\n200\n201\n202");
+    loadLocal("rowid", "rowid_i", "rowidOffset", "100");//add a special field
+    // check default commit of false
+    assertU(commit());
+    assertQ(req("rowid_i:101"),"//*[@numFound='1']");
+    assertQ(req("rowid_i:102"),"//*[@numFound='1']");
+    assertQ(req("rowid_i:10000"),"//*[@numFound='0']");
   }
 
   @Test