php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-08-2006, 11:01
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zend Framework

Hallo,

hab ein Problem (was auch sonst). Und zwar möchte ich die Volltextsuche des Zend Frameworks verwenden. Es gibt ja einige Tutorials für RSS Feeds. Das funktioniert auch soweit. Nu hab ich aber das Problem das ich auch andere Dokumente, wie z.B. Word, PDF usw indizieren muss.
Leider bekomme ich das aber nicht hin. Für RSS Feeds gibt es eine import Funktion. So etwas finde ich aber nicht für andere Dokumente.
Ich habe zwar die Volltextsuche für Zend_search_lucene schon gefunden, da ist die Indizirung allerdings in Java realisiert. Ich benötige sie aber in PHP. Gibt es überhaupt die Möglichkeit mittels der Zend_Search in php Dokumente zu indizieren, oder geht es garnicht?
Für Hilfe wäre ich wirklich dankbar, bin schon Tage am rumforsten und kann nichts finden!!

Danke für Antworten (auch gerne Links zum Thema, aber nicht die zur RSS indizierung, davon hab ich schon einige)!!!!

Gruß

Skull77
Mit Zitat antworten
  #2 (permalink)  
Alt 08-08-2006, 11:23
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Zend Framework

Du solltest dich lieber an die Zend-Mailingliste wenden (fw-general@lists.zend.com), ist zwar Englisch, aber da sind die Programmierer von dem ZF wenigstens auch ansässig.
Generell kann ich dir nur sagen, es ist alles noch nicht mal Version 1, wenn also was fehlt, bzw. du es nicht finden kannst, ist es wahrscheinlich, dass es noch nicht unterstützt wird (dafür reicht ja das angucken der Methoden)
Mit Zitat antworten
  #3 (permalink)  
Alt 08-08-2006, 13:02
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, hab jetzt mal versucht se anzuschreiben, hoffe die verstehen mein wirklich brillantes Englisch!!!

Falls einer die Suche schon mal ausprobiert hat, wäre ich natürlich trotzdem dankbar, wenn er mir etwas unter die Arme greifen könnte.

So halbwegs läuft es jetzt auch, bekomme aber komischerweise keine Suchergebnisse...

Hier mal mein Code:

PHP-Code:
/*Die Indizierung scheint zu funktionieren. Zumindest werden die 
entsprechenden Dateien erstellt und haben auch Inhalt.*/

    
public function indizAction()
        {
        
$index = new Zend_Search_Lucene('path/to/index'true);
        
        
$filepath 'path/to/document/document.doc';
        
$file fopen($filepath"r");
        
$contents fread ($filefilesize ($filepath));
        
fclose ($file);
        
        echo(
$contents);
        
        
        
$fileDate=date("d.m.Y",filemtime($filepath));
        echo(
$fileDate);
        
$author='Heinz Becker';
        
        
$doc = new Zend_Search_Lucene_Document();        
        
$doc->addField(Zend_Search_Lucene_Field::Text('path'$filepath));
        
$doc->addField(Zend_Search_Lucene_Field::Text('modified'$fileDate));
        
$doc->addField(Zend_Search_Lucene_Field::Keyword('author'$author));
        
$doc->addField(Zend_Search_Lucene_Field::Text('contents'$contents));
        
        
$index->addDocument($doc);
        
$index->commit();
        }

/*Die Suche ergibt keine übereinstimmung. Keine Ahnung woran 
das liegen könnte*/
    
    
public function searchAction()
    {                    
        
$index = new Zend_Search_Lucene('/path/to/index');
        
$query='dokumentenverwaltung';
        
        
$hits $index->find($query);
        
        foreach (
$hits as $hit) {
            
// gebe das Zend_Search_Lucene_Document Objekt für diesen Treffer zurück
            
echo $document $hit->getDocument();
        
            
// gebe ein Zend_Search_Lucene_Field Objekt vom Zend_Search_Lucene_Document zurück
            
echo $document->getField('path');
        
            
// gebe den Stringwert des Zend_Search_Lucene_Field Objekts zurück
            
echo $document->getFieldValue('path');
        }
        
    } 

Geändert von Skull77 (08-08-2006 um 15:48 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 08-08-2006, 15:49
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, soweit geht es jetzt. Scheint probleme mit dem Word doc zu haben . Mit ner normalen txt gehts scheinbar. Eigenartig das!!!
Mit Zitat antworten
  #5 (permalink)  
Alt 09-08-2006, 17:51
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Für den Fall das auch sonst mal jemand sich mit dem Zend Framework und im Speziellen mit Zend_Search beschäftigen muss, hier die Lösung zu meinem Problem:

Zend kommt übrigens nur mit ASCII zurecht!!! z.B. PDFs müssten konvertiert werden. Dazu unten mehr.

PHP-Code:
    public function indizAction()
        {
        
        
//indizieren von Dateien
        
if(file_exists('d:/search_Test'))
        {
            
$index = new Zend_Search_Lucene('d:/search_Test');
            echo(
'Index wird aktualisiert.<br><br>');
        }
        else
        {
            
$index = new Zend_Search_Lucene('d:/search_Test'true);
            echo(
'Neuer Index wurde erstellt.<br><br>');
        }
        
        
//um die Indizierung zu testen einfach mal drei Dateien genommen
        //information retrieval.txt und informa.txt sind gleich
        //dokument.pdf wurde mit XPDF zu dokument.txt konvertiert
        //informa.doc wurde mit antiword zu informa.txt konvertiert
        
$aFilepath = Array ('d:/suchdat/information retrieval.txt',
                            
'd:/suchdat/dokument.txt'
                            
'd:/suchdat/informa.txt');
        
        foreach(
$aFilepath as $filepath)
            {
            
$file fopen($filepath'r');
            
$contents fread ($filefilesize ($filepath));
            
fclose ($file);
            
            echo(
$contents);
            
            
$fileDate=date("d.m.Y",filemtime($filepath));
            
            
//echo($fileDate);
            
            //Autor des Dokumentes
            
$author='Heinz Becker';
            
            
//neues Dokument wird indiziert
            
$doc = new Zend_Search_Lucene_Document();
            
//Felder werden angelegt        
            
$doc->addField(Zend_Search_Lucene_Field::Text('path'$filepath));
            
$doc->addField(Zend_Search_Lucene_Field::Text('modified'$fileDate));
            
$doc->addField(Zend_Search_Lucene_Field::Keyword('author'$author));
            
$doc->addField(Zend_Search_Lucene_Field::Text('contents'$contents));
            
            
//Dokument wird $index hinzugefügt
            
$index->addDocument($doc);
            }    
        
//nu kommt alles in die Indexdateien
        //für jedes commit werden neue Dateien angelegt, darum erst alles in $index und 
        //zum Ende commiten.
        
$index->commit();
        
        echo 
$index->count()."<br><br> Documents indexed.\n";
        }
    
    public function 
searchAction()
    {                    
        
$index = new Zend_Search_Lucene('/search_Test');
        
        
//Suchwort
        //muss klein geschrieben werden.
        
$query='controller';
        
        
$hits $index->find($query);
        
        if(
$hits == NULL)
        {
            echo(
'Es konnten keine Übereinstimmungen gefunden werden.<br><br>');
        }
        
        foreach (
$hits as $hit) {
            echo 
$hit->score;
            echo 
"<br>" .$hit->path;
            echo 
"<br>" .$hit->modified;
            echo 
"<br>" .$hit->author;
            echo 
"<br><br>";
        }
        echo 
$index->count()." Documents indexed.\n";
        
    } 
Zur Konvertierung der MS Word Dokumente habe ich "antiword" und zur Konvertierung von PDFs habe ich XPDF verwendet.

Geändert von Skull77 (09-08-2006 um 18:27 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 22-02-2007, 16:05
Proggy
 Junior Member
Links : Onlinestatus : Proggy ist offline
Registriert seit: Oct 2003
Beiträge: 163
Proggy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke, endlich mal nen Snibbet, den man auch nachvollziehen kann.
Mit Zitat antworten
  #7 (permalink)  
Alt 16-10-2007, 14:01
deklarmart
 Junior Member
Links : Onlinestatus : deklarmart ist offline
Registriert seit: Sep 2002
Ort: # my_home.php - line 213 ;-)
Beiträge: 112
deklarmart ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Skull77
Zend kommt übrigens nur mit ASCII zurecht!!! z.B. PDFs müssten konvertiert werden. Dazu unten mehr.
Ach ne... Sorry das ich den Thread erst jetzt lese, aber hast du dir noch nie eine DOC oder PDF Datei angeschaut?

Folgendes sieht dein Script wenn du die DOC Datei mit fopen() öffnest:
PHP-Code:
Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9    
œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4    ö
n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=G</zÁ^Á^j¯_^—¼¡ÞZïQïBº0FX'Ü+
œòáû¤útøŒû<öuñ-ôÝà{Ö÷µ__•ß˜ß-G”,ê}çïé/÷ñ¿ÀHh 8ðmWp[àŸƒ¸
AiA«‚Ný#8$X¼?øAˆKHIÈ{!7Ä<q†¸Wüy(!46´-ôãÐaÁa†°ƒa†W†ï¿@°
`lÁݧYψÉH,²$òýÈÉ(Ç(YÔhÔ7ÑÎъèÑ÷b<b*böÅ<Žõ‹ÕÇ~ûL&Y&
9‡Ä%ÆuÇMÄs 
__________________
GLORIA PERPETUA
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:26 Uhr.