• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Zend Lucene Search: Gewichtung des Such-Indexes

tr-bitbox

New member
Hallo an alle

Ich habe ein Problem mit der Gewichtung bestimmter Keyword/Text Quellen für den Such-Index.
Die Lucene Search hab ich in meinem symfony 1.2.12 Propel Projekt eingebunden, und hier ist der Code wie ich den Such-Index erstelle:

PHP:
require_once 'Zend/Search/Lucene.php';
$index = new Zend_Search_Lucene(sfConfig::get('app_search_user_index_file'), true);

$providers = ProviderPeer::doSelect(new Criteria());
foreach ($providers as $provider)
{
   $doc = new Zend_Search_Lucene_Document();
   $doc->addField(Zend_Search_Lucene_Field::Keyword('providerid', $provider->getId()));
   $doc->addField(Zend_Search_Lucene_Field::Text('city', $provider->getCity()));
   $doc->addField(Zend_Search_Lucene_Field::Text('name', $provider->getName()));
   $doc->addField(Zend_Search_Lucene_Field::Text('slug', $provider->getSlug()));
   $doc->addField(Zend_Search_Lucene_Field::Text('street', $provider->getStreet()));
   $doc->addField(Zend_Search_Lucene_Field::Text('street_nb', $provider->getStreetNb()));
    $doc->addField(Zend_Search_Lucene_Field::Unstored('contents',  "{$provider->getCity()} {$provider->getName()}  {$provider->getSlug()} {$provider->getStreet()}  {$provider->getStreetNb()}"));
   $index->addDocument($doc);
}

$index->commit();
Und nun zum Problem: Ich habe eine Ferienwohnung, Privathaus, Hotel etc. Angebots/Gesuch Website die alle Einträge auflistet.

Wenn ich z. B. nach "hotel münchen" suche, listet mir die Suche zuerst viele Einträge mit dem wort "münchen" im Namen oder Slug - aber NICHT in der City -, und DANN kommen die Einträge, die "münchen" als City haben.


Wie würde ich den Search-Index erstellen, sodass er City höher gewichtet als alle anderen Quellen?

Schonmal Danke im Vorraus für all eure hilfreichen Antworten, hoffentlich könnt Ihr mir helfen!

EDIT: Achja, ich habe schon einige andere Beiträge gelesen, wie z. B. den von Mouli oder Nightflight - aber daraus konnte mir auch nicht geholfen werden :(
 
Zuletzt bearbeitet:

Snooze

New member
Moin moin,
habe mich eben mal etwas mit deinem Post beschäftigt und da habe ich nebenbei http://www.zfforum.de/showthread.php?t=1195
gefunden. Was ich aus dem thread und auch aus deinem Problem lese ist, dass Zend_Search_Lucene probleme mit Umlauten hat, obwohl ZF ja weitestgehend UTF-8 Konform ist.
Aber wieso er dann City nicht so hoch gewichtet wie du es dir wünscht kann ich leider auch nicht sagen...

Vielleicht kann einer der Profis hier im Board ja noch etwas weiterhelfen.
 
Zuletzt bearbeitet:
Oben