Dynamic Field Names defined by Blacklight
Extensions based on data type and how the field will be indexed...
data type → ↓field parameters | text (_t...) | English text (_te...) | string (_s...) | integer (_i...) | date time (dt...) | boolean (_b...) | comments |
---|---|---|---|---|---|---|---|
indexed only (...i) | _ti | _tei | _si | _ii | _dti | _bi | field WILL be searched, but will NOT be part of retrieved solr document |
indexed & multi-valued (...im) | _tim | _teim | _sim | _iim | _dtim | _bim | |
stored only (...s) | _ts | _tes | _ss | _is | _dts | _bs | field will NOT be searched, but WILL be part of retrieved solr document |
stored & multi-valued (...sm) | _tsm | _tesm | _ssm | _ism | _dtsm | _bsm | |
stored & indexed (...si) | _tsi | _tesi | _ssi | _isi | _dtsi | _bsi | field WILL be searched and WILL be part of retrieved solr document |
stored, indexed, & multi-valued (...sim) | _tsim | _tesim | _ssim | _isim | _dtsim | _bsim |
There are additional data types and a few additional field parameters. See the Blacklight Solr schema.xml file for all possible combinations.
Meaning of field parameters
- indexed - field will be searched
- stored - field will part of retrieved solr document
- multi-valued - field is an array of values
See fieldType definitions in schema.xml to see how data types correspond to solr field types.
Dynamic Field Names generated using Solrizer
Extensions based on data type and indexed as
data type → ↓indexed as | :date | :time | :text_en | :string | :symbol | :integer | :boolean |
---|---|---|---|---|---|---|---|
none | _dtsim | _dtsim | _tesim | _tesim | _ssim | _isim | _bsi |
:stored_searchable | _dtsim | _dtsim | _tesim | _tesim | _ssim | _isim | _bsi |
:searchable | _dtim | _dtsim | _teim | _teim | _sim | _iim | _bim |
:dateable | _dtsim | _dtsim | _dtsim | _dtsim | _dtsim | _dtsim | _dtsim |
:facetable | _sim | _sim | _sim | _sim | _sim | _sim | _sim |
:symbol | _ssim | _ssim | _ssim | _ssim | _ssim | _ssim | _ssim |
:sortable | _dti | _dti | _tei | _si | _si | _ii | _bi |
:stored_sortable | _dtsi | _dtsi | _tesi | _ssi | _ssi | _isi | _bsi |
:displayable | _ssm | _ssm | _ssm | _ssm | _ssm | _ssm | _ssm |
:unstemmed_searchable | _tim | _tim | _tim | _tim | _tim | _tim | _tim |
:simple | _dti | _dti | _tei | _si | _si | _ii | _bi |
Examples using Solrizer to generate the Solr field name
Usage of FieldMapper.solr_name
fm.solr_name('foo', :facetable, :type=>:text ) # pass one modifier at a time => "foo_sim" fm.solr_name('foo', :facetable, :type=>:string ) => "foo_sim" fm.solr_name('foo', :facetable, :type=>:integer ) => "foo_sim" fm.solr_name('foo', :searchable, type: :text ) => "foo_teim" fm.solr_name('foo', :searchable, type: :string ) => "foo_teim" fm.solr_name('foo', :searchable, type: :integer ) => "foo_iim" fm.solr_name('foo', :searchable, type: :float ) Solrizer::InvalidIndexDescriptor: Invalid datatype `:float'. Must be one of: :date, :time, :text, :text_en, :string, :symbol, :integer, :boolean fm.solr_name('foo' ) => "foo_tesim" fm.solr_name('foo', :stored_searchable) => "foo_tesim" fm.solr_name('foo', :searchable) => "foo_teim" fm.solr_name('foo', :dateable) => "foo_dtsim" fm.solr_name('foo', :facetable) => "foo_sim" fm.solr_name('foo', :symbol) => "foo_ssim" fm.solr_name('foo', :sortable ) => "foo_si" fm.solr_name('foo', :stored_sortable) => "foo_ssi" fm.solr_name('foo', :displayable) => "foo_ssm" fm.solr_name('foo', :unstemmed_searchable) => "foo_tim" fm.solr_name('foo', :simple) => "foo_si"