DEPRECATION WARNING
Solr Document
This documentation is not using the current rendering mechanism and will be deleted by December 31st, 2020. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
Dynamic Field Suffixes All of VuFind's dynamic fields are configured to be both stored and indexed (to avoid proliferation of confusing suffixes). Each suffix represents a particular field type (detailed below) and may be multiValued if given the mv suffix. For more details on dynamic fields, see the VUFIND-480 JIRA ticket. Dynamic Fields Dynamic fields allow Solr to index fields that you did not explicitly define in your schema. This is useful if you discover you have forgotten to define one or more fields. Dynamic fields can make your application less brittle by providing some flexibility in the documents you can add to Solr. Solr supports indexing spatial fields on industry standards: WKT and GeoJSON. In this post, I’ll be going through indexing spatial fields on GeoJSON format, especially to index polygons. First, you need to choose between SpatialRecursivePrefixTreeFieldType (RPT). Fortunately, Solr gives the option to define dynamic fields – fields that are defined in the schema with a glob-like pattern that is either at the beginning or end of the name. Further, there are pre-defined dynamic fields for most of the common data-types that you may use, in the default schema. Override the GetAllFieldTypes method to add custom field types. It is important that you call the base method and combine the results with the results of the custom method. Use the CreateField method to add new field and attributes. The Solr documentation has.
Dynamic Fields In Salesforce
Dynamic fields allow you to add custom fields to Solr documents. That said, you never need to modify Solr's schema (which could cause problems or at least unnecessary additional work when updating the Solr extension).The following sections describe how to use dynamic fields with your Solr for TYPO3 installation.Usage of dynamic fields
You can use dynamic fields by following a special naming convention for document fields.E.g. to create a dynamic field that is a string the field name should end with _stringS. So if you want tocreate a field for storing a title you would name it title_stringS. We suggest you use lower camel case for the field name followed by an underscore followed by the dynamic field type 'extension'.
Solr Field Types
We've predefined the following dynamic fields:
How To Use Dynamic Field In Solr
Extension | Type | Multivalue | Comment |
---|---|---|---|
*_stringS | String | No | |
*_stringM | String | Yes | |
*_boolS | Boolean | No | |
*_boolM | Boolean | Yes | |
*_intS | Integer | No | deprecated use _tIntS now |
*_intM | Integer | Yes | deprecated use _tIntM now |
*_sIntS | Sortable Integer | No | deprecated use _tIntS now |
*_sIntM | Sortable Integer | Yes | deprecated use _tIntM now |
*_tIntS | Trie Integer | No | |
*_tIntM | Trie Integer | Yes | |
*_longS | Long | No | deprecated use _tLongS now |
*_longM | Long | Yes | deprecated use _tLongM now |
*_sLongS | Sortable Long | No | deprecated use _tLongS now |
*_sLongM | Sortable Long | Yes | deprecated use _tLongM now |
*_tLongS | Trie Long | No | |
*_tLongM | Trie Long | Yes | |
*_floatS | Float | No | deprecated use _tFloatS now |
*_floatM | Float | Yes | deprecated use _tFloatM now |
*_sFloatS | Sortable Float | No | deprecated use _tFloatS now |
*_sFloatM | Sortable Float | Yes | deprecated use _tFloatM now |
*_tFloatS | Trie Float | No | |
*_tFloatM | Trie Float | Yes | |
*_doubleS | Double | No | deprecated use _tDoubleS now |
*_doubleM | Double | Yes | deprecated use _tDoubleM now |
*_sDoubleS | Sortable Double | No | deprecated use _tDoubleS now |
*_sDoubleM | Sortable Double | Yes | deprecated use _tDoubleM now |
*_tDoubleS | Trie Double | No | |
*_tDoubleM | Trie Double | Yes | |
*_tDouble4S | Trie Double with Precision Step 4 | No | |
*_tDouble4M | Trie Double with Precision Step 4 | Yes | |
*_dateS | Date | No | deprecated use _tDateS now |
*_dateM | Date | Yes | deprecated use _tDateM now |
*_tDateS | Trie Date | No | |
*_tDateM | Trie Date | Yes | |
*_random | Random | No | |
*_textS | Text | No | |
*_textM | Text | Yes | |
*_textTS | Text Tight | No | |
*_textTM | Text Tight | Yes | |
*_textSortS | Sortable Text | No | |
*_textSortM | Sortable Text | Yes | |
*_textWstS | Whitespace tokenized Text | No | |
*_textWstM | Whitespace tokenized Text | Yes | |
*_phoneticS | Phonetic | No | |
*_phoneticM | Phonetic | Yes | |
*_textEdgeNgramS | Edge Ngram (hello => hello, hell..) | No | |
*_textEdgeNgramM | Edge Ngram (hello => hello, hell..) | Yes | |
*_textNgramS | Ngram (hello => he,ll,lo,hel,llo) | No | |
*_textNgramM | Ngram (hello => he,ll,lo,hel,llo) | Yes |