Ich habe einen benutzerdefinierten Tokenizer in Solr erstellt, der nach benannten Entitäten sucht. Ich möchte in der Lage sein, diese Informationen zu verwenden, um separate Felder innerhalb des Lucene/Solr-Dokuments zu füllen.Solr: Füllen Sie separate Felder von einem Tokenizer
Als Beispiel möchte ich ein mehrwertiges Feld namens "locations" mit allen Ortsnamen füllen, die aus dem Text extrahiert wurden. Um Orte zu extrahieren, wird der Text zuerst in Token aufgeteilt, um die Wörter zu trennen und um festzustellen, welche Token Orte sind. Nach diesem Prozess möchte ich die Token für den Tokenizer ausgeben, aber auch das Feld "locations" mit allen Ortsnamen füllen, die aus dem Text extrahiert wurden.
Aus den Nachforschungen, die ich gemacht habe, gibt es keine Möglichkeit, auf das SolrDocument-Objekt vom Tokenizer oder der TokenizerFactory zuzugreifen, so dass es keine Möglichkeit gibt, Felder von hier aus aufzufüllen.
Die Lösung, die ich bisher gefunden habe, ist eine benutzerdefinierte UpdateRequestProcessorFactory zu erstellen, die den Text verarbeitet und die Felder extrahiert, und dann verarbeitet der Tokenizer den Text AGAIN, um die Token zu erhalten. Ich würde gerne einen Weg finden, diese Arbeit machen zu können und den Text nur einmal zu bearbeiten.