Feld in solr schema.xml hinzufügen

8

Ich benutze Solr, um die Suche in meiner Datenbank durchzuführen, und versuche ein neues Feld (publisher_id eines Artikels) in der Datei conf / schema.xml hinzuzufügen, um den Wert der publisher_id nach der Suche in meiner Datenbank zu erhalten finde keinen Feldnamen, der diesem Feld entspricht. Wie kann ich es als Feld in schema.xml hinzufügen, das mit den gesuchten Werten (body, title, date und publisher_id) des Artikels zurückgegeben wird?

    
Ruba 13.07.2011, 13:06
quelle

2 Antworten

9

Zunächst einmal: Welche Art von Daten werden in der publisher_id gespeichert? Wenn es sich um eine Zahl (int, log) handelt, fügen Sie ein Feld mit dem entsprechenden Typ hinzu:

%Vor%

Nachdem Sie der schema.xml ein Feld hinzugefügt haben, müssen Sie die solr-Instanz neu starten und Ihren Index neu erstellen.

    
The Bndr 13.07.2011, 13:30
quelle
2

Beachten Sie, dass dynamische Additionen in Solr 4.4 und Solr 5.0 hinzugefügt wurden ... keiner von beiden welche sind noch freigegeben.

Wenn Sie in der Zwischenzeit ein Feld zu Ihrem Index hinzufügen möchten, haben Sie zwei Möglichkeiten. Zunächst können Sie es auf die harte Tour machen: Fügen Sie das Feld zu Ihrem Schema hinzu, löschen Sie den Index, starten Sie Solr neu und indizieren Sie alles neu. Dies ist in der Regel ein wenig unhaltbar.

Alternativ können Sie eine dynamische Felddeklaration verwenden. Wenn Sie in das Schema schauen, sehen Sie Zeilen wie diese:

%Vor%

Dies bedeutet, dass wenn Sie ein Feld mit einem Namen hinzufügen, der auf _i oder _is endet, werden Sie alle gehen. Diese sind in der Regel im Standardschema aktiviert. Wenn Sie also flexibel festlegen können, wie das Feld aufgerufen werden soll, können Sie alle damit festlegen.

Wenn keine dieser Optionen vielversprechend aussieht, ist Ihre dritte Option, auf Solr 4.4 oder 5.0 zu warten und ein Upgrade durchzuführen (was höchstwahrscheinlich auch eine Neuindizierung erfordert!).

    
mlissner 26.06.2013 19:45
quelle

Tags und Links