ExternalFileField (Solr 3.6.2 API)
Keywords: org.apache.solr.schema.ExternalFileField class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.solr.schema
Class ExternalFileField

    java.lang.Object
      org.apache.solr.schema.FieldProperties
          org.apache.solr.schema.FieldType
              org.apache.solr.schema.ExternalFileField

    public class ExternalFileField

extends FieldType

Get values from an external file instead of the index.

`keyField` will normally be the unique key field, but it doesn't have to be.

- It's OK to have a keyField value that can't be found in the index
- It's OK to have some documents without a keyField in the file (defVal is used as the default)
- It's OK for a keyField value to point to multiple documents (no uniqueness requirement)

`valType` is a reference to another fieldType to define the value type of this field (must currently be TrieFloatField or FloatField (valType="pfloat|float|tfloat") if used). This parameter has never been implemented. As of Solr 3.6/4.0 it is optional and can be omitted. The format of the external file is simply newline separated keyFieldValue=floatValue.
Example:
`doc33=1.414`
`doc34=3.14159`
`doc40=42`

Solr looks for the external file in the index directory under the name of external_<fieldname> or external_<fieldname>.*

If any files of the latter pattern appear, the last (after being sorted by name) will be used and previous versions will be deleted. This is to help support systems where one may not be able to overwrite a file (like Windows, if the file is in use).

If the external file has already been loaded, and it is changed, those changes will not be visible until a commit has been done.

The external file may be sorted or unsorted by the key field, but it will be substantially slower (untested) if it isn't sorted.

Fields of this type may currently only be used as a ValueSource in a FunctionQuery.

Version:
  $Id: ExternalFileField.java 1215504 2011-12-17 14:54:22Z erick $

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType
`FieldType.DefaultAnalyzer`

Field Summary

Fields inherited from class org.apache.solr.schema.FieldType
`analyzer, args, falseProperties, log, POLY_FIELD_SEPARATOR, queryAnalyzer, trueProperties, typeName`

Fields inherited from class org.apache.solr.schema.FieldProperties
`BINARY, INDEXED, MULTIVALUED, OMIT_NORMS, OMIT_POSITIONS, OMIT_TF_POSITIONS, REQUIRED, SORT_MISSING_FIRST, SORT_MISSING_LAST, STORE_TERMOFFSETS, STORE_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED`

Constructor Summary
`ExternalFileField()`

Method Summary
`SortField` | `getSortField(SchemaField field, boolean reverse)` Returns the SortField instance that should be used to sort fields of this type.
`ValueSource` | `getValueSource(SchemaField field, QParser parser)` called to get the default value source (normally, from the Lucene FieldCache.)
`protected void` | `init(IndexSchema schema, Map<String,String> args)` subclasses should initialize themselves with the args provided and remove valid arguments.
`void` | `write(TextResponseWriter writer, String name, Fieldable f)` calls back to TextResponseWriter to write the field value
`void` | `write(XMLWriter xmlWriter, String name, Fieldable f)` Renders the specified field as XML

Methods inherited from class org.apache.solr.schema.FieldType
`createField, createField, createFields, getAnalyzer, getArg, getFieldIndex, getFieldQuery, getFieldStore, getFieldTermVec, getIndexOptions, getQueryAnalyzer, getRangeQuery, getStringSort, getTypeName, getValueSource, hasProperty, indexedToReadable, isMultiValued, isPolyField, isTokenized, multiValuedFieldCache, readableToIndexed, restrictProps, setAnalyzer, setQueryAnalyzer, storedToIndexed, storedToReadable, toExternal, toInternal, toObject, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ExternalFileField

    public ExternalFileField()

Method Detail

### init

    protected void init(IndexSchema schema,
                        Map<String,String> args)

  Description copied from class: `FieldType`
  subclasses should initialize themselves with the args provided and remove valid arguments. leftover arguments will cause an exception. Common boolean properties have already been handled.

  Overrides:
    `init` in class `FieldType`

### write

    public void write(XMLWriter xmlWriter,
                      String name,
                      Fieldable f)
               throws IOException

  Description copied from class: `FieldType`
  Renders the specified field as XML

  Specified by:
    `write` in class `FieldType`
  Throws:
    `IOException`

### write

    public void write(TextResponseWriter writer,
                      String name,
                      Fieldable f)
               throws IOException

  Description copied from class: `FieldType`
  calls back to TextResponseWriter to write the field value

  Specified by:
    `write` in class `FieldType`
  Throws:
    `IOException`

### getSortField

    public SortField getSortField(SchemaField field,
                                  boolean reverse)

  Description copied from class: `FieldType`
  Returns the SortField instance that should be used to sort fields of this type.

  Specified by:
    `getSortField` in class `FieldType`
  See Also:
    `SchemaField.checkSortability()`

### getValueSource

    public ValueSource getValueSource(SchemaField field,
                                      QParser parser)

  Description copied from class: `FieldType`
  called to get the default value source (normally, from the Lucene FieldCache.)

  Overrides:
    `getValueSource` in class `FieldType`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD