You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ds...@apache.org on 2018/08/29 18:17:51 UTC

lucene-solr:master: SOLR-12591: Expand default configSet's date patterns to subsume those of extract contrib

Repository: lucene-solr
Updated Branches:
  refs/heads/master cae91b1ea -> 18874a6e3


SOLR-12591: Expand default configSet's date patterns to subsume those of extract contrib


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/18874a6e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/18874a6e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/18874a6e

Branch: refs/heads/master
Commit: 18874a6e36b1930bc7437ee3f1095912b1d20a95
Parents: cae91b1
Author: David Smiley <ds...@apache.org>
Authored: Wed Aug 29 14:17:44 2018 -0400
Committer: David Smiley <ds...@apache.org>
Committed: Wed Aug 29 14:17:44 2018 -0400

----------------------------------------------------------------------
 solr/CHANGES.txt                                | 14 +++++-
 .../solr/collection1/conf/solrconfig.xml        | 19 ++++++++
 ...dd-schema-fields-update-processor-chains.xml |  8 ++--
 ...lrconfig-parsing-update-processor-chains.xml | 16 +++----
 .../collection1/conf/solrconfig-schemaless.xml  |  8 ++--
 .../configsets/_default/conf/solrconfig.xml     |  8 ++--
 .../ParsingFieldUpdateProcessorsTest.java       | 50 ++++++++++++--------
 solr/example/files/conf/solrconfig.xml          |  8 ++--
 .../configsets/_default/conf/solrconfig.xml     |  8 ++--
 solr/solr-ref-guide/src/schemaless-mode.adoc    |  8 ++--
 10 files changed, 99 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index e5fc714..e99a2d4 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -47,7 +47,17 @@ Upgrade Notes
 * SOLR-12586: The date format patterns used by ParseDateFieldUpdateProcessorFactory (present in "schemaless mode")
   are now interpreted by Java 8's java.time.DateTimeFormatter instead of Joda Time.  The pattern language is very
   similar but not the same.  Typically, simply update the pattern by changing an uppercase 'Z' to lowercase 'z' and
-  that's it.  For the current recommended set of patterns in schemaless mode, see "Schemaless Mode" in the ref guide.
+  that's it.  For the current recommended set of patterns in schemaless mode, see "Schemaless Mode" in the ref guide,
+  or simply examine the default configSet.  Also note that the set of patterns (formats) here have
+  expanded from before to subsume those patterns previously handled by the "extract" contrib (Solr Cell / Tika).
+  (David Smiley, Bar Rotstein)
+
+New Features
+----------------------
+
+SOLR-12591: Expand the set of recognized date format patterns of schemaless mode to subsume those handled by the
+  "extract" contrib (Solr Cell / Tika).  This is primarily a change in configuration of the default configSet for more
+  patterns, but also included enabling "lenient" parsing in ParseDateFieldUpdateProcessorFactory.
   (David Smiley, Bar Rotstein)
 
 Other Changes
@@ -55,7 +65,7 @@ Other Changes
 
 * SOLR-12614: Make "Nodes" view the default in AdminUI "Cloud" tab (janhoy)
 
-* SOLR-12586, SOLR-12591: Upgrade ParseDateFieldUpdateProcessorFactory (present in "schemaless mode") to use Java 8's
+* SOLR-12586: Upgrade ParseDateFieldUpdateProcessorFactory (present in "schemaless mode") to use Java 8's
   java.time.DateTimeFormatter instead of Joda time (see upgrade notes).  "Lenient" is enabled.  Removed Joda Time dependency.
   (David Smiley, Bar Rotstein)
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml b/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
index 4b2ee8e..aef03af 100644
--- a/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
+++ b/solr/contrib/extraction/src/test-files/extraction/solr/collection1/conf/solrconfig.xml
@@ -43,6 +43,25 @@
   </updateHandler>
 
 
+  <updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date">
+    <arr name="format">
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
+      <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
+      <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
+      <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+      <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+      <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
+    </arr>
+  </updateProcessor>
+
+  <!-- The update.autoCreateFields property can be turned to false to disable schemaless mode -->
+  <updateRequestProcessorChain name="parse-date" default="true"
+                               processor="parse-date">
+    <processor class="solr.RunUpdateProcessorFactory"/>
+  </updateRequestProcessorChain>
+
+
   <query>
     <!-- Maximum number of clauses in a boolean query... can affect
         range or wildcard queries that expand to big boolean

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/core/src/test-files/solr/collection1/conf/solrconfig-add-schema-fields-update-processor-chains.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-add-schema-fields-update-processor-chains.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-add-schema-fields-update-processor-chains.xml
index 4394d5c..46ce9ad 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-add-schema-fields-update-processor-chains.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-add-schema-fields-update-processor-chains.xml
@@ -179,11 +179,13 @@
     <processor class="solr.ParseDoubleFieldUpdateProcessorFactory"/>
     <processor class="solr.ParseDateFieldUpdateProcessorFactory">
       <arr name="format">
-        <str>yyyy-MM-dd'T'HH:mm[:ss[.SSS]][z</str>
-        <str>yyyy-MM-dd'T'HH:mm[:ss[,SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
         <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
         <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
-        <str>yyyy-MM-dd</str>
+        <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+        <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+        <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
       </arr>
     </processor>
     <processor class="solr.AddSchemaFieldsUpdateProcessorFactory">

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/core/src/test-files/solr/collection1/conf/solrconfig-parsing-update-processor-chains.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-parsing-update-processor-chains.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-parsing-update-processor-chains.xml
index f9e44b0..b552c5c 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-parsing-update-processor-chains.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-parsing-update-processor-chains.xml
@@ -79,7 +79,7 @@
     </processor>
   </updateRequestProcessorChain>
 
-  <updateRequestProcessorChain name="parse-date-UTC-defaultTimeZone-no-run-processor">
+  <updateRequestProcessorChain name="parse-date-many-formats-no-run-processor">
     <processor class="solr.ParseDateFieldUpdateProcessorFactory">
       <str name="defaultTimeZone">UTC</str>
       <str name="locale">en_US</str>
@@ -109,16 +109,16 @@
     </processor>
   </updateRequestProcessorChain>
 
-  <updateRequestProcessorChain name="parse-date-patterns-from-extract-contrib">
+  <updateRequestProcessorChain name="parse-date-patterns-default-config">
     <processor class="solr.ParseDateFieldUpdateProcessorFactory">
-      <str name="defaultTimeZone">UTC</str>
-      <str name="locale">en</str>
       <arr name="format">
-        <str>yyyy-MM-dd['T'[HH:mm:ss['.'SSS][z</str>
-        <str>yyyy-MM-dd HH:mm:ss</str>
-        <str>EEE MMM d HH:mm:ss [z ]yyyy</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
+        <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
+        <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
+        <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
         <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
-        <str>EEE, dd MMM yyyy HH:mm:ss z</str>
+        <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
       </arr>
     </processor>
     <processor class="solr.RunUpdateProcessorFactory" />

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/core/src/test-files/solr/collection1/conf/solrconfig-schemaless.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-schemaless.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-schemaless.xml
index 446f3f0..d2f8426 100644
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-schemaless.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/solrconfig-schemaless.xml
@@ -61,11 +61,13 @@
     <processor class="solr.ParseDoubleFieldUpdateProcessorFactory"/>
     <processor class="solr.ParseDateFieldUpdateProcessorFactory">
       <arr name="format">
-        <str>yyyy-MM-dd'T'HH:mm[:ss[.SSS]][z</str>
-        <str>yyyy-MM-dd'T'HH:mm[:ss[,SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
         <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
         <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
-        <str>yyyy-MM-dd</str>
+        <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+        <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+        <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
       </arr>
     </processor>
      

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml b/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
index d393316..3d87100 100644
--- a/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
+++ b/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml
@@ -1141,11 +1141,13 @@
   <updateProcessor class="solr.ParseDoubleFieldUpdateProcessorFactory" name="parse-double"/>
   <updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date">
     <arr name="format">
-      <str>yyyy-MM-dd'T'HH:mm[:ss[.SSS]][z</str>
-      <str>yyyy-MM-dd'T'HH:mm[:ss[,SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
       <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
       <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
-      <str>yyyy-MM-dd</str>
+      <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+      <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+      <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
     </arr>
   </updateProcessor>
   <updateProcessor class="solr.AddSchemaFieldsUpdateProcessorFactory" name="add-schema-fields">

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java b/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
index a51ea39..2448f92 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
@@ -166,7 +166,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
     assertEquals(Instant.parse("2010-08-09T07:00:00.000Z"), ((Date)d.getFieldValue("not_in_schema")).toInstant());
   }
   
-  public void testParseDateFormats() throws Exception {
+  public void testParseDateManyFormats() throws Exception {
     String[] formatExamples = { 
         "2010-01-15T00:00:00.000Z",
         "2010-01-15T00:00:00,000Z",
@@ -205,7 +205,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
     for (int i = 0 ; i < formatExamples.length ; ++i) {
       String dateString = formatExamples[i];
       String id = "95" + i;
-      SolrInputDocument d = processAdd("parse-date-UTC-defaultTimeZone-no-run-processor", 
+      SolrInputDocument d = processAdd("parse-date-many-formats-no-run-processor",
                                        doc(f("id", id), f("dateUTC_dt", dateString)));
       assertNotNull(d);
       assertTrue("index: " + i + " date '" + dateString + "' is not mutated to a Date",
@@ -913,7 +913,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
     for(String notInFormatDateString: dateStrings) {
       IndexSchema schema = h.getCore().getLatestSchema();
       assertNotNull(schema.getFieldOrNull("date_dt")); // should match "*_dt" dynamic field
-      SolrInputDocument d = processAdd("parse-date-patterns-from-extract-contrib", doc(f("id", id), f("date_dt", notInFormatDateString)));
+      SolrInputDocument d = processAdd("parse-date-patterns-default-config", doc(f("id", id), f("date_dt", notInFormatDateString)));
       assertNotNull(d);
       assertTrue("Date string: " + notInFormatDateString + " was not parsed as a date", d.getFieldValue("date_dt") instanceof Date);
       assertEquals(notInFormatDateString, ((Date) d.getField("date_dt").getFirstValue()).toInstant().toString());
@@ -936,7 +936,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
       String expectedString = lenientDateStrings[++i];
       IndexSchema schema = h.getCore().getLatestSchema();
       assertNotNull(schema.getFieldOrNull("date_dt")); // should match "*_dt" dynamic field
-      SolrInputDocument d = processAdd("parse-date-patterns-from-extract-contrib", doc(f("id", id), f("date_dt", lenientDateString)));
+      SolrInputDocument d = processAdd("parse-date-patterns-default-config", doc(f("id", id), f("date_dt", lenientDateString)));
       assertNotNull(d);
       assertTrue("Date string: " + lenientDateString + " was not parsed as a date",
           d.getFieldValue("date_dt") instanceof Date);
@@ -947,55 +947,65 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
 
   // this test has had problems when the JDK timezone is Americas/Metlakatla
   public void testAKSTZone() throws IOException {
-    final String inputString = "Thu Nov 13 04:35:51 AKST 2008"; // "Ansi C" + timezone
+    final String dateFormat = "EEE MMM d HH:mm:ss z yyyy";
+    final String inputString = "Thu Nov 13 04:35:51 AKST 2008"; // asctime + timezone1
 
     final long expectTs = 1226583351000L;
     assertEquals(expectTs,
-        DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss z yyyy", Locale.ENGLISH)
+        DateTimeFormatter.ofPattern(dateFormat, Locale.ENGLISH)
             .withZone(ZoneId.of("UTC")).parse(inputString, Instant::from).toEpochMilli());
 
-    assertParsedDate(inputString, Date.from(Instant.ofEpochMilli(expectTs)), "parse-date-patterns-from-extract-contrib");
+    // ensure english locale and root locale return the same date
+    assertEquals(expectTs, DateTimeFormatter.ofPattern(dateFormat, Locale.ENGLISH)
+            .withZone(ZoneId.of("UTC")).parse(inputString, Instant::from).toEpochMilli(),
+        DateTimeFormatter.ofPattern(dateFormat, Locale.ENGLISH)
+            .withZone(ZoneId.of("UTC")).parse(inputString, Instant::from).toEpochMilli());
+
+    assertParsedDate(inputString, Date.from(Instant.ofEpochMilli(expectTs)), "parse-date-patterns-default-config");
 
     // We might also test AKDT, but a bug in Java 9 (not in 8) causes this to fail
-    //assertParsedDate("Fri Oct 7 05:14:15 AKDT 2005", Date.from(inst20051007131415()), "parse-date-patterns-from-extract-contrib"); // with timezone (not ANSI C) in DST
+    //assertParsedDate("Fri Oct 7 05:14:15 AKDT 2005", Date.from(inst20051007131415()), "parse-date-patterns-default-config"); // with timezone (not asctime) in DST
     // see https://bugs.openjdk.java.net/browse/JDK-8189784
   }
 
   public void testEDTZone() throws IOException {
     //EDT is GMT-4
-    assertParsedDate("Fri Oct 7 09:14:15 EDT 2005", // Ansi C + timezone
-        Date.from(inst20051007131415()), "parse-date-patterns-from-extract-contrib");
+    assertParsedDate("Fri Oct 7 09:14:15 EDT 2005", // asctime + timezone
+        Date.from(inst20051007131415()), "parse-date-patterns-default-config");
   }
 
   public void testNoTime() throws IOException {
     Instant instant = instant(2005, 10, 7, 0, 0, 0);
     String inputString = "2005-10-07";
-    assertParsedDate(inputString, Date.from(instant), "parse-date-patterns-from-extract-contrib");
+    assertParsedDate(inputString, Date.from(instant), "parse-date-patterns-default-config");
   }
 
   public void testRfc1123() throws IOException {
-    assertParsedDate("Fri, 07 Oct 2005 13:14:15 GMT", Date.from(inst20051007131415()), "parse-date-patterns-from-extract-contrib");
+    assertParsedDate("Fri, 07 Oct 2005 13:14:15 GMT", Date.from(inst20051007131415()), "parse-date-patterns-default-config");
   }
 
   public void testRfc1036() throws IOException {
-    assertParsedDate("Friday, 07-Oct-05 13:14:15 GMT", Date.from(inst20051007131415()), "parse-date-patterns-from-extract-contrib");
+    assertParsedDate("Friday, 07-Oct-05 13:14:15 GMT", Date.from(inst20051007131415()), "parse-date-patterns-default-config");
   }
 
-  public void testAnsiC() throws IOException {
-    assertParsedDate(
-        "Fri Oct 7 13:14:15 2005", Date.from(inst20051007131415()), "parse-date-patterns-from-extract-contrib");
+  public void testAsctime() throws Exception {
+    assertParsedDate("Fri Oct 7 13:14:15 2005" , Date.from(inst20051007131415()), "parse-date-patterns-default-config");
     // also see testEDTZone
   }
 
-  public void testLenient() throws IOException {
-    /// the Ansi C format, but input here has longer day of week
-    assertParsedDate("Friday Oct 7 13:14:15 2005", Date.from(inst20051007131415()), "parse-date-patterns-from-extract-contrib");
+  public void testAsctimeLeniency() throws Exception {
+    // test double digit day
+    assertParsedDate("Fri Oct 07 13:14:15 2005" , Date.from(inst20051007131415()), "parse-date-patterns-default-config");
+    // test 2 spaces left of a single digit day
+    assertParsedDate("Fri Oct  7 13:14:15 2005" , Date.from(inst20051007131415()), "parse-date-patterns-default-config");
+    // longer day of week
+    assertParsedDate("Friday Oct 7 13:14:15 2005", Date.from(inst20051007131415()), "parse-date-patterns-default-config");
   }
 
   public void testParseQuotedDate() throws IOException {
     // also using 2 digit day
     assertParsedDate("'Fri, 14 Oct 2005 13:14:15 GMT'",
-        Date.from(instant(2005, 10, 14, 13, 14, 15)), "parse-date-patterns-from-extract-contrib");
+        Date.from(instant(2005, 10, 14, 13, 14, 15)), "parse-date-patterns-default-config");
   }
 
   private static Instant instant(final int year, final int month, final int day, int hour, int minute, int second) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/example/files/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/example/files/conf/solrconfig.xml b/solr/example/files/conf/solrconfig.xml
index 7bc8d34..1c003d7 100644
--- a/solr/example/files/conf/solrconfig.xml
+++ b/solr/example/files/conf/solrconfig.xml
@@ -1161,11 +1161,13 @@
     <processor class="solr.ParseDoubleFieldUpdateProcessorFactory"/>
     <processor class="solr.ParseDateFieldUpdateProcessorFactory">
       <arr name="format">
-        <str>yyyy-MM-dd'T'HH:mm[:ss[.SSS]][z</str>
-        <str>yyyy-MM-dd'T'HH:mm[:ss[,SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+        <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
         <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
         <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
-        <str>yyyy-MM-dd</str>
+        <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+        <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+        <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
       </arr>
     </processor>
     <processor class="solr.AddSchemaFieldsUpdateProcessorFactory">

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/server/solr/configsets/_default/conf/solrconfig.xml
----------------------------------------------------------------------
diff --git a/solr/server/solr/configsets/_default/conf/solrconfig.xml b/solr/server/solr/configsets/_default/conf/solrconfig.xml
index d393316..3d87100 100644
--- a/solr/server/solr/configsets/_default/conf/solrconfig.xml
+++ b/solr/server/solr/configsets/_default/conf/solrconfig.xml
@@ -1141,11 +1141,13 @@
   <updateProcessor class="solr.ParseDoubleFieldUpdateProcessorFactory" name="parse-double"/>
   <updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date">
     <arr name="format">
-      <str>yyyy-MM-dd'T'HH:mm[:ss[.SSS]][z</str>
-      <str>yyyy-MM-dd'T'HH:mm[:ss[,SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
       <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
       <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
-      <str>yyyy-MM-dd</str>
+      <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+      <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+      <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
     </arr>
   </updateProcessor>
   <updateProcessor class="solr.AddSchemaFieldsUpdateProcessorFactory" name="add-schema-fields">

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/18874a6e/solr/solr-ref-guide/src/schemaless-mode.adoc
----------------------------------------------------------------------
diff --git a/solr/solr-ref-guide/src/schemaless-mode.adoc b/solr/solr-ref-guide/src/schemaless-mode.adoc
index 0a2f555..dd8e8dc 100644
--- a/solr/solr-ref-guide/src/schemaless-mode.adoc
+++ b/solr/solr-ref-guide/src/schemaless-mode.adoc
@@ -103,11 +103,13 @@ To start, you should define it as follows (see the javadoc links below for updat
   <updateProcessor class="solr.ParseDoubleFieldUpdateProcessorFactory" name="parse-double"/>
   <updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date">
     <arr name="format">
-      <str>yyyy-MM-dd'T'HH:mm[:ss[.SSS]][z</str>
-      <str>yyyy-MM-dd'T'HH:mm[:ss[,SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
+      <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
       <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
       <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
-      <str>yyyy-MM-dd</str>
+      <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
+      <str>EEEE, dd-MMM-yy HH:mm:ss z</str>
+      <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
     </arr>
   </updateProcessor>
   <updateProcessor class="solr.AddSchemaFieldsUpdateProcessorFactory" name="add-schema-fields"> <!--3-->