2017-12-12 1 views
1

ich mit Crafter 2.5.10 mit folgendem Inhalt Modell gerade arbeiteFlatten Datei + Component + Bild-Metadaten in eine

Seiten -> Enthält Dateien und Komponenten (File Component)

Datei-Komponente -> auch enthält andere Dateien

Ich muss eine Suche (Solr-Abfrage) eines bestimmten Schlüsselwortes (s) gegen Dateien Metadaten durchführen, dh wenn ich nach "Potato" suche und ich habe eine PDF-Datei mit dem Wort "Potato" innerhalb von es, das würde als Ergebnis übereinstimmen. Wenn ich das Ergebnis der genannten Abfrage bekomme, muss ich die Informationen der Seite, wo diese Datei befindet (enthalten).

Mit dem SearchAttachmentWithExternalMetadataPostProcessor kann ich die Metadaten der Dateien, die direkt in der Seite enthalten sind, abrufen. Aber für die Dateien, die in Dateikomponenten enthalten sind, erhalte ich nur die Informationen, die von der Komponente kommen, die die Datei enthält.

Gibt es eine Möglichkeit, die Metadaten der Datei + die übergeordneten Komponente + die übergeordnete Seite Komponente

Antwort

1

zu fusionieren Wenn Sie so etwas wie Seite XML + Komponente XML wollen assoziiert + Dateiinhalt selbst in einem einzigen Solr Dokument in Datei Dies ist nicht möglich, da bei der Indizierung kein Zugriff auf den extrahierten Dateiinhalt möglich ist. Die Extraktion wird von Solr durchgeführt und ist vollständig von der Seitenindizierung getrennt.

Ich denke, Sie haben grundsätzlich 2 Optionen: Suchen Sie nach der ersten Abfrage nach der Seite, die der Komponente/Datei zugeordnet ist, oder erstellen Sie einen Prozessor, der beim Indexieren der Komponente/Datei einige der Seitenmetadaten hinzufügt.