[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Addon RexSearch (Fulltext-Search-Addon) - Seite 3 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

12. Okt 2009, 14:28

Ich habe das Problem eingrenzen können und es lag an der Artikelweiterleitung.
Das Problem hatte Koala auch schon mal angesprochen bzw. es trat im search_index-Addon ebenfalls auf.

Ich habe das Problem jetzt so gelöst, dass Artikel, die einen Redirect enthalten generell nicht indexiert werden.

Dieses Verhalten kann auch geändert werden. Wenn jemand Hilfe dabei braucht, so sollte er sich bei mir melden. Ich erachte die Möglichkeit, dass das jemand braucht als so gering, dass es mir keinen Eintrag in die Doku wert ist.

Also: Neue Version herunterladen und Spaß haben. =)
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

manjana
Beiträge: 27
Registriert: 29. Aug 2008, 14:18

indizieren wird nicht in die Datenbank geschrieben

16. Okt 2009, 16:29

Hallochen,

nachdem ich ohne Erfolg versucht habe mit search_index und search_fulltext eine Suche hinzubekommen, bin ich auf das Addon xsearch gestoßen, habe es installiert, aktiviert und schrittweise indiziert.
Aber es wird nichts in die Datenbank geschrieben und demzufolge auch nichts gesucht. Was mache ich falsch?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: indizieren wird nicht in die Datenbank geschrieben

16. Okt 2009, 16:37

Hallo manjana!
manjana hat geschrieben:Aber es wird nichts in die Datenbank geschrieben und demzufolge auch nichts gesucht. Was mache ich falsch?
Was wird denn bei der Indexierung ausgegeben?

Welche PHP-und welche MySQL-Version verwendest du?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

manjana
Beiträge: 27
Registriert: 29. Aug 2008, 14:18

Kein Einträge in die Datenbank

23. Okt 2009, 13:57

Hallo Xong

sorry, aber ich war einige Tage unterwegs.
Vielen Dank für Deine Antwort.
Bei der schrittweisen Indexierung zeigt er
"Index wurde erstellt" und die einzelnen Artikel untereinander aufgelistet, so als hätte alles geklappt.
In rex_587_searchcache ist ein Datensatz drin, aber rex_587_searchcacheindex_ids und rex_587_searchindex ist leer.
Ich verwende MySQL-Version 5.0.32, Zeichensatz: UTF-8 Unicode (utf8) und PHP5.

Ich wäre Dir dankbar, wenn Du eine Idee hast woran es liegen könnte oder was ich mal versuchen soll.

Viele Grüße
Manjana

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Kein Einträge in die Datenbank

23. Okt 2009, 16:54

Hallo manjana!
manjana hat geschrieben:Ich wäre Dir dankbar, wenn Du eine Idee hast woran es liegen könnte oder was ich mal versuchen soll.
Die Daten "klingen" kompatibel. =)

Kannst du die neue Version mal herunterladen und schauen, ob dort die Indexierung besser funktioniert. Versuche auch mal beide Indexierungs-Modi, die du auf der Einstellungsseite einstellen kannst.

Welche Redaxo-Version kommt denn zum Einsatz?
Ich habe das Addon bisher nur mit 4.2.1-Installationen testen können.

Wenn alle Stränge reißen, kannst du mir dann einen Login (FTP, MySQL, Redaxo-Backend) zur Seite geben, damit ich mir das mal anschauen kann?
Ich gehe vertraulich mit den Daten um und vergesse sie nach meiner Hilfe auch wieder.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

6. Nov 2009, 16:10

Hallo Xong,

ich hab gerade das AddOn installiert und bei mir werden leider nicht alle Artikel indexiert. Wenn ich die Schrittweise Indexierung mach sind die zwar alle dabei, aber in der Datenbank tauchen die nicht auf.

Die anzahl der Artikel die fehlen ist ziemlich hoch. Ca. 40% darunter auch die Startseite.

Sowas schon mal vorgekommen?
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

6. Nov 2009, 18:41

Hallo Zonk! =)

Du hast neben der schrittweisen und vollständigen Indexierung auch noch die Möglichkeit einzustellen, wie die Artikel indexiert werden sollen (über den Redaxo-Cache oder über eine HTTP-GET-Anfrage).

Tritt das Problem dann immer noch auf?

Welche Spezifikationen hat dein System (PHP-, MySQL-Version)?

Das Addon funktioniert unter PHP 4 z. B. nur sehr eingeschränkt bzw. reagiert unvorhersehbar. Allerdings habe ich vor kurzem eine Spezialversion für PHP 4 geschrieben. Ich hatte nur nicht vor, diese Version weiterzuentwickeln. Wenn du diese Version benötigst, musst du dich nochmal melden.

Wenn es dir möglich ist würde ich mir von dem Problem gern selbst ein Bild machen. Dazu bräuchte ich allerdings Zugang zur Datenbank, FTP und Redaxo.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

wmxrecords
Beiträge: 98
Registriert: 1. Nov 2008, 14:09
Kontaktdaten: Website

8. Nov 2009, 18:57

Hallo zusamen,

ich bin fortgeschrittener Redaxonianer, aber mit AddOns habe ich noch nichts gemacht. Kann mir jemand freundlicherweise in Schritten erklären wie ich das Xsearch zum Laufen bringe? Folgendes habe ich jetzt gemacht:

- AddOn heruntergelden und installiert
- AddOn konfiguriert
- den Code um mein Suchfeld herum aktualisiert:

Code: Alles auswählen

<div id="searchBox">
            <form id="xsearch_form" action="index.php" method="get">
                <input type="hidden" name="articleid" value="1" />
                <input type="hidden" name="clang" value="0" />
                <input type="text" name="xsearch" value="" />

                <input type="submit" value="" />
            </form>
        </div>
- ein Modul hinzugefügt mit folgendem Code:

Code: Alles auswählen

  <?php
  if(!empty($_REQUEST['xsearch']))
  {
    $xsearch = new XSearch();
    if(count($result = $xsearch->search($_REQUEST['xsearch'])))
    {
      echo '<ul class="searchresults">';
      foreach($result['hits'] as $hit)
      {
        if($hit['type'] == 'article')
        {
          $article = OOArticle::getArticleById($hit['fid']);
          echo '<li>
    <h4><a href="'.($url = htmlspecialchars($article->getUrl())).'">'.$article->getName().'</a></h4>
      <p class="highlightedtext">'.$hit['highlightedtext'].'</p>
      <p class="url">'.$REX['SERVER'].rex_getUrl($hit['fid'], $hit['clang']).'</p></li>';
        }
      }
      echo '</ul>';
    }
  }
  ?>
- Ein Artikel erstellt und das Modul eingefügt

Natürlich passiert noch nichts beim Suchen :) Habe ich alles richtig gemacht? Ich nehme an ich habe was ausgelassen. Die Wiki habe ich gelesen, aber dort wird nicht genau beschrieben wie Neulinge das Addon anwenden sollen.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

8. Nov 2009, 21:26

Hallo wmxrecords!
wmxrecords hat geschrieben:Ich nehme an ich habe was ausgelassen.
Vielleicht hast du vergessen, die Indexierung zu starten?

Außerdem muss die Artikel-ID in dem Suchformular die ID des Artikels sein, in den du das Suchmodul eingebaut hast.
wmxrecords hat geschrieben:Die Wiki habe ich gelesen, aber dort wird nicht genau beschrieben wie Neulinge das Addon anwenden sollen.
Ich könnte eine Schritt-für-Schritt-Anleitung hinzufügen... =)
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

8. Nov 2009, 22:46

So, ich bin sauer!

Wenn ich Daten an eine SQL-Klasse übergebe, darf ich doch erwarten, dass diese Daten entsprechend maskiert werden, bevor sie in ein Insert- oder Update-Statement eingebunden werden, oder?

Anscheinend nicht. Redaxo geht nämlich den schönen Weg und behandelt schön alle einkommenden Werte ($_REQUEST) mit addslashes() (was ich übrigens nicht gut finde) und kann deshalb diesen Weg in seiner SQL-Klasse nicht unumschränkt gehen. Woher soll die Klasse auch wissen, ob die Daten schon behandelt wurde oder nicht. Grrrrrrr!!!

Zonk hat mir freundlicher Weise Zugangsdaten zu seinem Projekt gegeben und ich habe herausgefunden, warum XSearch nicht alle Artikel indexiert.

Fazit: Mein Addon hat ein grobes Sicherheitsloch von der Größe Bayerns und ich bin mit meinen Nerven am Ende.

Die neue Version ist hochgeladen und sollte möglichst ersetzt werden.

Hat jemand Probleme mit der neuen Version, hilft es ggf. die XSearch-Klasse einfach zu ersetzen.

Geh auch das nicht, so sind die Funktionen indexArticle und indexColumn (ca. Zeile 300 - 500) mit folgendem Code zu ersetzen:

Code: Alles auswählen

  /**
    * Indexes a certain article.
    * 
    * @param int $_id
    * @param mixed $_clang
    * 
    * @return int
    */
  function indexArticle($_id,$_clang = false)
  {
    if(in_array($_id, $this->excludeIDs))
      return A587_ART_EXCLUDED;
    
    $delete = new rex_sql();

    $where = sprintf("ftable = '%s' AND fid = '%d' AND texttype = 'article'",$delete->escape($this->tablePrefix.'article'),$_id);
    if($_clang !== false)
      $where .= ' AND clang="'.$_clang.'"';
    
    // delete from cache
    $select = new rex_sql();
    $select->setTable($this->tablePrefix.'587_searchindex');
    $select->setWhere($where);
    $select->select('id');
    
    $indexIds = array();
    foreach($select->getArray() as $result)
      $indexIds[] = $result['id'];
    
    $this->deleteCache($indexIds);
    
    // delete old
    $delete->setTable($this->tablePrefix.'587_searchindex');
    $delete->setWhere($where);
    $delete->delete();
    
    // index article
    $article = OOArticle::getArticleById(intval($_id));
    if(is_object($article) AND $article->isOnline() AND (!$_clang OR $article->getClang() == $_clang) )
    {
      $this->beginFrontendMode();
      
      if(ini_get('allow_url_fopen') AND $this->indexViaHTTP)
      {
        $articleText = @file_get_contents('http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'],0,strpos($_SERVER['PHP_SELF'],'/redaxo/')+1).rex_geturl($_id,$_clang===false?'':$_clang, '', '&'));
      }
      elseif ($_id != 0 AND $this->dontIndexRedirects)
      {
        $rex_article = new rex_article(intval($_id));
        
        $article_content_file = $this->includePath.'/generated/articles/'.$_id.'.0.content';
        if(!file_exists($article_content_file))
        {
          include_once ($this->includePath."/functions/function_rex_generate.inc.php");
          $generated = rex_generateArticleContent($_id, 0);
          if($generated !== true)
          {
            return A587_ART_IDNOTFOUND;
          }
        }
        
        if(file_exists($article_content_file) AND preg_match($this->encodeRegex('~(header\s*\(\s*["\']\s*Location\s*:)|(rex_redirect\s*\()~is'), rex_get_file_contents($article_content_file)))
        {
          return A587_ART_REDIRECT;
        }
        
        $articleText = $rex_article->getArticle();
      }
      
      $insert = new rex_sql();
      $articleData = array();
      
      $articleData['texttype'] = 'article';
      $articleData['ftable'] = $this->tablePrefix.'article';
      $articleData['fcolumn'] = NULL;
      $articleData['clang'] = $article->getClang();
      $articleData['fid'] = intval($_id);
      $articleData['catid'] = $article->getParentId();
      $articleData['unchangedtext'] = $insert->escape($articleText);
      $articleData['plaintext'] = $insert->escape($plaintext = $this->getPlaintext($articleText));
      $articleData['teaser'] = $insert->escape($this->getTeaserText($plaintext));
      
      $insert->setTable($this->tablePrefix.'587_searchindex');
      $insert->setValues($articleData);
      $insert->insert();
      
      $this->endFrontendMode();
    }
    else
    {
      return A587_ART_IDNOTFOUND;
    }
    return A587_ART_GENERATED;
  }
  
  
  /**
    * Indexes a certain column.
    * Returns the number of the indexed rows or false.
    * 
    * @param string $_table
    * @param mixed $_column
    * @param mixed $_idcol
    * @param mixed $_id
    * 
    * @return mixed
    */
  function indexColumn($_table, $_column, $_idcol = false, $_id = false)
  {
    $delete = new rex_sql();
    
    $where = sprintf(" `ftable` = '%s' AND `fcolumn` = '%s' AND `texttype` = 'db_column'",$delete->escape($_table),$delete->escape($_column));
    if(is_string($_idcol) AND $_id)
      $where .= sprintf(' AND fid = %d',$_id);
    
    // delete from cache
    $select = new rex_sql();
    $select->setTable($this->tablePrefix.'587_searchindex');
    $select->setWhere($where);
    $indexIds = array();
    if($select->select('id'))
    {
      foreach($select->getArray() as $result)
        $indexIds[] = $result['id'];
      $this->deleteCache($indexIds);
    }
    
    // delete old data
    $delete->setTable($this->tablePrefix.'587_searchindex');
    $delete->setWhere($where);
    $delete->delete();
    
    // index column
    $sql = new rex_sql();
    $sql->setTable($_table);
    
    if(is_string($_idcol) AND $_id)
      $sql->setWhere(sprintf('%s = %d', $_idcol, $_id));
    
    $count = false;
    if($sql->select('*'))
    {
      $this->beginFrontendMode();
      
      $count = 0;
      
      foreach($sql->getArray() as $value)
      {
        if(!empty($value[$_column]) AND (!array_key_exists('status',$value) OR $value['status'] == '1') AND ($this->tablePrefix.'article' != $_table OR !in_array($value['id'],$this->excludeIDs)))
        {
          $insert = new rex_sql();
          $indexData = array();
          
          $indexData['texttype'] = 'db_column';
          $indexData['ftable'] = $_table;
          $indexData['fcolumn'] = $_column;
          
          if(array_key_exists('clang',$value))
            $indexData['clang'] = $value['clang'];
          else
            $indexData['clang'] = NULL;
          
          if(array_key_exists('id',$value))
            $indexData['fid'] = $value['id'];
          elseif(array_key_exists('file_id',$value))
            $indexData['fid'] = $value['file_id'];
          else
            $indexData['fid'] = NULL;
          
          if(array_key_exists('re_id',$value))
            $indexData['catid'] = $value['re_id'];
          elseif(array_key_exists('category_id',$value))
            $indexData['catid'] = $value['category_id'];
          else
            $indexData['catid'] = NULL;
          
          $indexData['unchangedtext'] = $insert->escape((string) $value[$_column]);
          $indexData['plaintext'] = $insert->escape($this->getPlaintext($value[$_column]));
          
          $indexData['teaser'] = '';
          if($this->tablePrefix.'article' == $_table)
          {
            $rex_article = new rex_article(intval($value['id']));
            $indexData['teaser'] = $insert->escape($this->getTeaserText($this->getPlaintext($rex_article->getArticle())));
          }
          
          $insert->setTable($this->tablePrefix.'587_searchindex');
          $insert->setValues($indexData);
          $insert->insert();
          
          $count++;
        }
      }
      
      $this->endFrontendMode();
    }
    else
    {
      return false;
    }
    
    return $count;
  }
Ein dickes Dankeschön geht auf jeden Fall an Zonk, der mir geholfen hat diesen groben Fehler in meinem Addon zu entdecken.

Ich entschuldige mich bei allen, bei denen dadurch Probleme auftauchen. Wer fragen hat, kann sich gerne bei mir per PN melden.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Markus.Lorch
Beiträge: 682
Registriert: 21. Okt 2007, 17:22
Wohnort: Walheim

8. Nov 2009, 23:41

Xong hat geschrieben:Ein dickes Dankeschön geht auf jeden Fall an Zonk, der mir geholfen hat diesen groben Fehler in meinem Addon zu entdecken.
Der Dank gilt dir. Hat mein Problem gelöst ohne, dass ich wirklich was tun musste... wenn's doch immer so wäre :)
Grüße,
Markus Lorch

Tschüssle sagt Herr Nüssle

wmxrecords
Beiträge: 98
Registriert: 1. Nov 2008, 14:09
Kontaktdaten: Website

9. Nov 2009, 00:05

Xong hat geschrieben:Vielleicht hast du vergessen, die Indexierung zu starten?
Bestimmt sogar. Wie mache ich das?
Xong hat geschrieben:Außerdem muss die Artikel-ID in dem Suchformular die ID des Artikels sein, in den du das Suchmodul eingebaut hast.
Ok, habe ich berichtigt:

Code: Alles auswählen

<form id="xsearch_form" action="index.php" method="get">
                <input type="hidden" name="article_id" value="30" />
                <input type="hidden" name="clang" value="0" />
                <input type="text" name="xsearch" value="<?php if(!empty($_GET['xsearch'])) echo htmlspecialchars($_GET['xsearch']); ?>" />
                <input type="submit" value="" />
            </form>
Jetzt wird beim Suchen auch die Suchergebnisseite aufgerufen, bleibt aber leer.
Xong hat geschrieben:Ich könnte eine Schritt-für-Schritt-Anleitung hinzufügen... =)
Ja das wäre sicherlich vorteilhaft für Anfänger :)

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

9. Nov 2009, 00:16

wmxrecords hat geschrieben:
Xong hat geschrieben:Vielleicht hast du vergessen, die Indexierung zu starten?
Bestimmt sogar. Wie mache ich das?
Du hast im Backend eine Rubrik "Indexierung". Wenn du dort die schrittweise Indexierung startest, sollten alle indexierten Artikel aufgelistet werden.

Wichtig ist, dass du die neueste Version verwendest.

Wenn es auch dann nicht klappt, liegt der Fehler mit großer Sicherheit auf meiner Seite und ich bräuchte für weitere Hilfe zumindest einen Zugang zum Backend.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

wmxrecords
Beiträge: 98
Registriert: 1. Nov 2008, 14:09
Kontaktdaten: Website

12. Nov 2009, 17:53

So, läuft super. Wie siehts aus mit Mehrsprachigkeit? Ich bin auf der englische Seite der Website, suche nach einem Begriff. Er bringt mir aber Ergebnisse des deutschen Contents.

Ist Xsearch mehrsprachfähig?

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

12. Nov 2009, 19:14

wmxrecords hat geschrieben:Ist Xsearch mehrsprachfähig?
Eine gute Frage. =)

Ich hatte das Addon mehrsprachig entwickeln wollen, muss aber zugeben, dass ich diese Komponente vernachlässigt hatte.

Aber das macht nichts, denn es waren nur wenige Änderungen nötig.
XSearch ist somit mehrsprachenfähig.

Allerdings erst seit der neuesten Version (xsearch_33.zip).
Im Wiki kannst du nachschauen, wie du die Module abändern musst, damit in bestimmten Sprachen gesucht werden soll:
Wie kann ich sprachabhängig suchen?

Auf meiner ToDo-Liste steht jetzt noch die Indexierung.
Ich empfehle im Moment die Indexierung der Artikel über den Redaxo-Cache.
Die Indexierung der Artikel über HTTP liefert im Moment nämlich noch ein etwas anderes Ergebnis.

Es wird also noch eine neue Version geben, aber ich denke, dass die Stabilität des Addons jetzt schon ganz ok ist.

Bei Fehlern und Problemen bitte ich um eine Rückmeldung.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

wmxrecords
Beiträge: 98
Registriert: 1. Nov 2008, 14:09
Kontaktdaten: Website

12. Nov 2009, 20:22

Alles klar Xong, danke! Ich freu mich schon auf die neue Version.

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

14. Nov 2009, 22:01

hi robert,
ich habe alles nach anleitung eingebaut...

Code: Alles auswählen

Warning: Wrong parameter count for array_unique() in /var/kunden/webs/XXX/redaxo/include/addons/xsearch/classes/class.xsearch.inc.php on line 734
hmm ?? bahnhof :)

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

15. Nov 2009, 00:46

Hi Richy!
Richard.Laing hat geschrieben:ich habe alles nach anleitung eingebaut...

Code: Alles auswählen

Warning: Wrong parameter count for array_unique() in /var/kunden/webs/XXX/redaxo/include/addons/xsearch/classes/class.xsearch.inc.php on line 734
hmm ?? bahnhof :)
Der zweite Parameter für array_unique kann in diesem Fall getrost entfallen.

Du kannst ihn entweder selbst entfernen oder das Addon neu herunterladen.

Der Fehler tritt übrigens nur mit "alten" PHP-Versionen auf. Welche Version verwendest du denn?
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

15. Nov 2009, 11:25

hi
ich hatte mir gestern die aktuelle version gesaugt und installiert.

PHP Version 5.2.0-8+etch15

wenn ich die suche erneuere, kommt der fehler im backend x mal und es werden bilder aus den artikeln angezeigt (im backend) und dann die such indexierung abgebrochen.

ich habe das addon auf einem anderen (meinen) server laufen da klappt alles bestens.?

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

15. Nov 2009, 23:31

Eine neue Version von XSearch ist hochgeladen.

Diese Version hat den Status RC1, d. h. die Version läuft stabil und alle Features sind implementiert. Fehler und Bugs, die euch noch aufallen, werden in den kommenden Wochen entfernt.

Es gibt ein paar Änderungen, die ich demnächst in die Doku im Wiki einpflegen werde:
Es gibt 3 Varianten, Artikel zu indexieren. Ich empfehle Indexierung der Artikel über den Redaxo-Cache (mit Template, liefert das gleiche Ergebnis wie per HTTP-GET-Anfrage).
Desweiteren kann ausgewählt werden, ob Offline-Artikel indexiert werden sollen oder nicht.

Ich habe mich außerdem entschlossen, XSearch nicht für PHP < 5 weiterzuentwickeln. Sollte jemand trotzdem unbedingt eine Version für PHP 4 benötigen, so sollte er sich mit mir in Verbindung setzen.

Weitere Anregegungen sind stets willkommen und werden hinzugefügt, wenn sie für die Allgemeinheit interessant sind.
Bitte scheut euch nicht, mir eure Ideen zu erklären. Ich bin sehr daran interessiert, dieses Addon mit allen möglichen Features rund um die Volltextsuche auszustatten.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

20. Nov 2009, 16:33

hallo xong,
ich habe die suche ans laufen bekommen leider aber nicht die pagination?

es steht immer die 1 da mehr nicht (ja es sind noch mehr ergebnissa da) define('SHOWMAX',10); also sollten doch 10 angezeigt werden und dann weiter blättern... passiert aber leider nicht ..?

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

20. Nov 2009, 16:56

Da war noch ein Fehler im Modul.

Entweder du ziehst dir das Modul nochmal aus dem Wiki oder du entfernst in Zeile 36 [for($i = 0; ($i*SHOWMAX) <= ceil($result['count']/SHOWMAX); $i++)] das "/SHOWMAX".
Also so:
for($i = 0; ($i*SHOWMAX) <= $result['count']; $i++)

Ich fahr jetzt schon los. Wir sehen uns morgen. =)

Edit: Das ceil kann dabei entfallen.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

24. Nov 2009, 00:55

Ich sitze gerade an einer Ähnlichkeitssuche und bräuchte mal eure Meinung bzw. Verbesserungsvorschläge.

Und zwar dachte ich mir das so:
Wenn ein Begriff gesucht wird und zu diesem Begriff auch tatsächlich mindestens ein Treffer gefunden wurde, dann wird der Suchbegriff (können auch mehrere sein) in einer Tabelle gespeichert und mit Soundex, Metaphone und/oder Kölner Phonetik kodiert.
Dadurch wird kontinuierlich eine Worttabelle aufgebaut.

Sollte jetzt eine Suche kein Ergebnis bringen, versucht XSearch über eine Suche mit allen ähnlichen Wörtern, die es in der vorher beschriebenen Tabelle finden kann, doch noch Ergebnisse zu finden. Außerdem werden in einem Array alle ähnlichen Worte zurückgegeben, damit auch mitgeteilt werden kann, nach welchen ähnlichen Wörtern gesucht wurde.

Ist das Vorgehen so in Ordnung oder habt ihr Verbesserungsvorschläge?
Sollte vielleicht zwischen mehreren Modi unterschieden werden können, wie diese Ähnlichkeitssuche zu erfolgen hat? (Welche wünscht ihr euch?)

Im Moment kann man nur auswählen, ob diese Ähnlichkeitssuche verwendet werden soll und wenn ja, welche der drei Methoden (oder alle drei) verwendet werden soll.

Ich brauche dringend Vorschläge von eurer Seite. =)
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

kubber
Beiträge: 34
Registriert: 20. Mär 2007, 11:25

XSearch Problem mit Markitup

27. Nov 2009, 13:49

Hallo,

Hoffe ich kann hier zwischen rein gehen - besser als immer neuer Thread.

Habe Xsearch in Verbindung mit Markitup von GN2 (4.2.1)
Hatte im IE das Problem das mir bei Markitup die Buttons abhauen - Rüdiger hat meine Installation mit der Masterinstallation von Markitup verglichen und da Er den Fehler nicht reproduzieren konnte und Xsearch das einzigste Addon was er nicht am laufen hatte, habe ich es einmal deaktivert und die Buttons sind wieder sichtbar :D

Wo jetzt hier das Problem liegt kann ich leider noch nicht sehen aber vielleicht kann man das fixen, da ich Xsearch + Markitup gerne in Verbindung einsetzen würde da zwei richtig gute Addons.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XSearch Problem mit Markitup

28. Nov 2009, 11:43

Hallo kubber!
kubber hat geschrieben:Hoffe ich kann hier zwischen rein gehen - besser als immer neuer Thread.
Das ist auch das Beste. Bei neuen Threads besteht die Möglichkeit, dass ich sie übersehe.
kubber hat geschrieben:Habe Xsearch in Verbindung mit Markitup von GN2 (4.2.1)
Hatte im IE das Problem das mir bei Markitup die Buttons abhauen - Rüdiger hat meine Installation mit der Masterinstallation von Markitup verglichen und da Er den Fehler nicht reproduzieren konnte und Xsearch das einzigste Addon was er nicht am laufen hatte, habe ich es einmal deaktivert und die Buttons sind wieder sichtbar :D

Wo jetzt hier das Problem liegt kann ich leider noch nicht sehen aber vielleicht kann man das fixen, da ich Xsearch + Markitup gerne in Verbindung einsetzen würde da zwei richtig gute Addons.
Ich kann das Problem gerade nicht nachvollziehen. Ich nutze auch MarkItUp, hatte aber nie Probleme.

Kannst du mir eventuell einen Link zum Backend geben?
Außerdem müsste ich noch wissen, in welcher IE-Version das Problem auftritt. Hier wäre auch ein Screenshot nicht schlecht.

Wir kriegen das schon gebacken. =)
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Zurück zu „Allgemeines [R4]“