BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren! |
 |

20-01-2012, 22:20
|
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 310
|
|
Suche durch alle Dateien
Hallo,
für ein kleines Projekt auf der Arbeit bräuchte ich mal ein paar Tips von euch.
Folgende Gegebenheiten. Als "Firmenlexikon" habe ich eine kleine Seite gestartet. In der Navigation kann man sich die gewünschten Inhalte aussuchen, die dann auf ein pdf-File verweisen, das dann zur Ansicht in einem iframe geladen wird. Neben den nötigen Feldern für den Dateiaufruf und dem gespeicherten Link zur Datei habe ich noch ein Feld Suchworte. Hier kann ich Suchworte definieren, auf die die Suche reagieren soll. All das funktioniert auch schon soweit zur vollsten Zufriedenheit. Nun kommt das eigentliche Problem.
Wie kann ich mit meiner Suchfunktion nicht nur die von mir definierten Suchworte auswerten, sondern auch innerhalb der Dateien nach den eingegebenen Suchwörtern suchen. Bei den Dateien handelt es sich ausschliesslich um pdf's, die aber auch mal 30MB oder größer sein können.
Meiner Vorstellung nach, müsste ich bei einer Suche dann jede Datei laden, durchsuchen, evtl. vorhandene Treffer speichern und dann mit der nächsten Datei weitermachen. Richtig !?!?
Wie würdet ihr das machen ?
Danke für eure Tips
__________________
Gruß
Michael
|

21-01-2012, 12:25
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.491
|
|
Hallo,
wenn du bei jeder Suche alle PDFs decodieren und durchsuchen willst, dauert das geschätzte 20 Minuten. Ich würde erstmal alle vorhandenen PDFs indizieren und wenn ein neues dazukommt oder sich ein bestehendes geändert hat, dieses neu indizieren. Die dabei gefundenen Stichwörter (alles außer Stoppwörtern) würde ich in eine DB packen und bei der eigentlichen Suche nur die DB abgrasen. Also praktisch genauso wie es eine Suchmaschine machen würde.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

21-01-2012, 16:04
|
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 310
|
|
Danke für die Antwort.
Das bringt mich aber zu der Frage, wie mache ich das mit dem inizieren ???
Stelle ich mir so vor, dass einmal die Suchwörter zusammengesellt werden und das Ergebnis dessen dann in der Datenbank mein jetztiges Suchwort ersetzt.
Richtig ?!?!
__________________
Gruß
Michael
|

22-01-2012, 00:36
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.491
|
|
So wie du das erklärst, versteh ich kein Wort. Was ersetzt was in der Datenbank? Was genau verstehst du nicht am Indizieren?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-01-2012, 11:59
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.226
|
|
|

23-01-2012, 09:21
|
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 310
|
|
Momentan habe ich in meiner Datenbank eine Spalte Suchworte. In dieser habe ich für jeden Link zu einer Datei entsprechende Suchwörter abgelegt. Hiermit kann ich nach dem Dateinamen filtern. Funktioniert auch.
Die Frage hier zielt darauf, wie ich auch im INHALT der Dateien suchen kann.
Dazu müssen dieDateien mit dem Inhalt indiziert sein. Soweit habe ich das verstanden. Nur wie indiziere ich die Dateien???
Was wird bei dem indizieren gemacht??? Ich nehme an, Suchwörter für die jeweilige Datei erstellt/angegeben, wie auch immer. Diese müssen dann auch in der Datenbank gespeichert werden.
Gibt irgenwo eine Anleitung (möglichst in deutsch) dazu ?
__________________
Gruß
Michael
|

23-01-2012, 11:24
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.226
|
|
Ich hab die beiden Links nicht aus Spaß gepostet.
|

23-01-2012, 18:46
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 645
|
|
Zitat:
Zitat von fritzje610
Die Frage hier zielt darauf, wie ich auch im INHALT der Dateien suchen kann.
Dazu müssen dieDateien mit dem Inhalt indiziert sein. Soweit habe ich das verstanden. Nur wie indiziere ich die Dateien???
|
Du sammelst in jeder Datei alle Wörter ein, nach denen man später suchen können soll. Für jedes dieser Wörter erstellst du eine "Liste", die alle Dateien, die das Wort enthalten, beherbergt. Diese Datenstruktur nennt man "inverted index". Einfache Beispiel-Source-Codes gibt es dafür jede Menge, aber PHP ist nicht dabei: Inverted index - Rosetta Code
Zitat:
|
Was wird bei dem indizieren gemacht??? Ich nehme an, Suchwörter für die jeweilige Datei erstellt/angegeben, wie auch immer. Diese müssen dann auch in der Datenbank gespeichert werden.
|
Schau in den Wikipedia-Artikel zum Search-Engine-Indexing ab dem Abschnitt "Inverted Indices". Da steht drin, wie das abläuft und was noch so alles zu beachten ist (Groß-Klein-Schreibung, Stemming, usw.).
Irgendwann wirst du dann sicher zu der Erkenntnis kommen, dass man diese Arbeit doch besser einer "fertigen Software" überlässt ...
Zitat:
|
Gibt irgenwo eine Anleitung (möglichst in deutsch) dazu ?
|
Wenn du ernsthaft das Ganze verstehen lernen möchtest, dann verbessere lieber dein Englisch.
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

24-01-2012, 10:30
|
|
fritzje610
Registrierter Benutzer
|
|
Registriert seit: Mar 2004
Ort: Nahe der schönen Loreley
Beiträge: 310
|
|
Hhmmm, ohne da jetzt lange die genannten Artikel zu lesen drängt sich mir immer mehr der Eindruck auf, dass es sinniger ist, das Suchen fertiger Software zu überlassen und diese in das Projekt zu integrieren.
Was könnt ihr da empfehlen ???
(Mal von den zwei bereits genannten abgesehen)
Danke ! ! ! !
__________________
Gruß
Michael
|

27-01-2012, 11:40
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 645
|
|
Zitat:
Zitat von fritzje610
Hhmmm, ohne da jetzt lange die genannten Artikel zu lesen drängt sich mir immer mehr der Eindruck auf, dass es sinniger ist, das Suchen fertiger Software zu überlassen und diese in das Projekt zu integrieren.
|
Ja, das war genau das, was dir mein geschätzter Vorposter zu sagen versucht hat.
Zitat:
|
Was könnt ihr da empfehlen ???
|
Empfehlen wäre übertrieben, aber anschauenswert ist
Managing Gigabytes for Java
Zitat:
|
(Mal von den zwei bereits genannten abgesehen)
|
Was gefällt dir an denen nicht?
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|