You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2012/11/23 10:56:02 UTC

svn commit: r1412803 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/schema/FieldProperties.java core/src/java/org/apache/solr/schema/FieldType.java core/src/java/org/apache/solr/schema/SchemaField.java

Author: romseygeek
Date: Fri Nov 23 09:56:00 2012
New Revision: 1412803

URL: http://svn.apache.org/viewvc?rev=1412803&view=rev
Log:
SOLR-4101: Add storeOffsetsWithPositions flag to SchemaField

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldProperties.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldType.java
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SchemaField.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1412803&r1=1412802&r2=1412803&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Nov 23 09:56:00 2012
@@ -84,6 +84,10 @@ New Features
 * SOLR-3970: SystemInfoHandler now exposes more details about the 
   JRE/VM/Java version in use.  (hossman)
 
+* SOLR-4101: Add support for storing term offsets in the index via a
+  'storeOffsetsWithPositions' flag on field definitions in the schema.
+  (Tom Winch, Alan Woodward)
+
 Optimizations
 ----------------------
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldProperties.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldProperties.java?rev=1412803&r1=1412802&r2=1412803&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldProperties.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldProperties.java Fri Nov 23 09:56:00 2012
@@ -49,12 +49,15 @@ public abstract class FieldProperties {
   protected final static int REQUIRED            = 0x00001000;
   protected final static int OMIT_POSITIONS      = 0x00002000;
 
+  protected final static int STORE_OFFSETS       = 0x00004000;
+
   static final String[] propertyNames = {
           "indexed", "tokenized", "stored",
           "binary", "omitNorms", "omitTermFreqAndPositions",
           "termVectors", "termPositions", "termOffsets",
           "multiValued",
-          "sortMissingFirst","sortMissingLast","required", "omitPositions"
+          "sortMissingFirst","sortMissingLast","required", "omitPositions",
+          "storeOffsetsWithPositions"
   };
 
   static final Map<String,Integer> propertyMap = new HashMap<String,Integer>();

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldType.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldType.java?rev=1412803&r1=1412802&r2=1412803&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldType.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/FieldType.java Fri Nov 23 09:56:00 2012
@@ -294,14 +294,18 @@ public abstract class FieldType extends 
     StorableField f = createField( field, value, boost);
     return f==null ? new StorableField[]{} : new StorableField[]{f};
   }
-  protected IndexOptions getIndexOptions(SchemaField field,
-                                         String internalVal) {
+
+  protected IndexOptions getIndexOptions(SchemaField field, String internalVal) {
+
     IndexOptions options = IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
     if (field.omitTermFreqAndPositions()) {
       options = IndexOptions.DOCS_ONLY;
     } else if (field.omitPositions()) {
       options = IndexOptions.DOCS_AND_FREQS;
+    } else if (field.storeOffsetsWithPositions()) {
+      options = IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS;
     }
+
     return options;
   }
 

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SchemaField.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SchemaField.java?rev=1412803&r1=1412802&r2=1412803&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SchemaField.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/SchemaField.java Fri Nov 23 09:56:00 2012
@@ -90,6 +90,7 @@ public final class SchemaField extends F
 
   public boolean omitTermFreqAndPositions() { return (properties & OMIT_TF_POSITIONS)!=0; }
   public boolean omitPositions() { return (properties & OMIT_POSITIONS)!=0; }
+  public boolean storeOffsetsWithPositions() { return (properties & STORE_OFFSETS)!=0; }
 
   public boolean multiValued() { return (properties & MULTIVALUED)!=0; }
   public boolean sortMissingFirst() { return (properties & SORT_MISSING_FIRST)!=0; }