Felder in solr definieren mit schema.xml

Um Daten mithilfe von Solr indexieren zu können, müssen diese zuerst typisiert werden. Dies geschieht mittels der schema.xml Date die sich im Ordner /conf der Solr-Installation befindet.

Solr indexiert sog. "Documents" die aus einer Reihe von Felder ("Fields") bestehen. Wenn neue Dokumente in den Index abgelegt werden, wird mit PHP ein $doc-Objekt erzeugt und die Felder mit den entsprechenden Werten abgefüllt. Dies wird dann an den Solr-Server übermittelt.

Anhand des folgenden Beispiels wird der Aufbau des Solr schema.xml genauer erläutert:

Beispiel:

<schema name="ayalon" version="1.1">
  ...
  <fields>
  <field name="id" type="string" indexed="true" stored="true" required="true" />
  <field name="title" type="text" indexed="true" stored="true"/>
  <field name="titleSort" type="string" indexed="true" stored="false"/>
   <field name="text" type="text" indexed="true" stored="true"/>
  <field name="category" type="text" indexed="true" stored="true" multiValued="true"/>
  ...
  </fields>
 
  <uniqueKey>id</uniqueKey>
  ...
  <copyField source="title" dest="titleSort"/>
  ...
</schema>

Erklärung:


Inhalt abgleichen