Medienpool-Treffer soll Datensatz nur 1x als Suchergebnis ausliefern
Gegeben:
- Datenbank + Dateisystem wird durchsucht.
- Ich habe eine Zuordnung von pdf-Dateien zu Datensätzen durch einen eindeutigen Schlüssel.
Im Moment werden dadurch zum selben Datensatz mehr als 1 Treffer erzeugt, nämlich je Datensatz und PDF-Datei. Da es sich um ca. 2000 Datensätze und 500 PDFs handelt: Kann ich hier die Treffer schon bei der Abfrage zusammenführen oder wie kann ich das mit $hit() möglichst performanceschonend und skallierbar erreichen?
@tyrant88 @xong habt ihr da einen Ansatz für mich?
Sorry, hab im Moment nicht so viel Zeit. Ich würde den Index so aufbauen, dass keine Duplikate vorhanden sind. Ggf. musst du dafür den Index selbst erstellen und kannst nicht über die search_it-Methoden gehen.
Wäre es möglich, bei der SELECT-Abfrage vor dem Absenden weitere Parameter anzuhängen? Ggf würde ja ein Group by reichen.
Im Index müssen sogar Duplikate vorkommen m.e., da es einmal ein Files-Treffer ist und das andere ein db-Treffer.
kannst du nicht einfach die $hit Ergebnisse nach typ trennen?
Wird eine Ergebnis-HTML-Tabelle, die nochmal sortiert/gefiltert werden kann. Also eher nicht.
Hier nochmal darüber nachgedacht. Es muss doch möglich sein, dass bei der Indexierung von Dateien im Medienpool auch dessen Metadaten erfasst werden, und so nicht noch zusätzlich die rex_media-Infos separat über die DB-Indexierung im Index landen.
Search_it unterscheidet ja bereits zwischen Medienpool-Indexierung und Indexierung auf dem Dateisystem.
Manchmal muss ein Gedanke etwas reifen:
Was ich mir eigentlich wünsche ist ein Knopf "Folgende Metainfos in die Suche mit einschließen" für Artikel, Kategorien und Medien, die eine Suche über die Datenbanktabellen überflüssig machen.