Managed Schema

Solr uses managed schema by default, as seen in the reference guide. In this mode pixolution flow will add all necessary fields and field types on the fly when indexing documents. There is no need to configure the schema manually, except the <uniqueKey> field as described in the requirements.

pixolution flow uses a custom field type and various fields to store image descriptors in an efficient manner in the index. You cannot change these fieldnames otherwise pixolution flow won’t find its required fields. However, you can define a general prefix by configuring pixolution.fieldname.prefix in the solrconfig.xml (see Configure PixolutionParserPlugin and Configure ImageUpdateFactory).

If it is necessary to add field types to the schema, they will carry the suffix _pxl_generated in their name to be identified easily.

The created fieldnames are as follows:

Fieldnames without prefix Fieldnames with prefix pxl_
imagedescriptor pxl_imagedescriptor
descriptorparts * pxl_descriptorparts *
descriptorfilter * pxl_descriptorfilter *
textspace * pxl_textspace *

Classic Schema

If you prefer to handle your schema manually this is also still possible.

This example shows all necessary fields and fieldtypes to store the image descriptors generated by pixolution flow:

<schemaversion="1.6">
  [...]
  <fieldType name="docValuesBinary" class="de.pixolution.solr.schema.ImageDescriptorFieldType"/>
  <fieldType name="bool" class="solr.BoolField"/>
  <fieldType name="int" class="solr.TrieIntField"/>
  <fieldType name="string" class="solr.StrField"/>
  [...]
  <field name="pxl_imagedescriptor" type="string" indexed="false" stored="true" multiValued="false"/>
  <dynamicField name="pxl_descriptorparts_*" type="docValuesBinary" indexed="false" stored="false" multiValued="false" docValues="true"/>
  <dynamicField name="pxl_descriptorfilter_*" type="int" indexed="true" stored="false" multiValued="true"/>
  <dynamicField name="pxl_textspace_*" type="bool" indexed="true" stored="false" multiValued="false"/>
  [...]
</schema>