[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
"Such Index erneuern" als "Action" - 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/
ingoruck
Beiträge: 108
Registriert: 10. Aug 2006, 11:43
Wohnort: Berlin
Kontaktdaten: Website

"Such Index erneuern" als "Action"

10. Aug 2006, 12:01

hallo zusammen,

ich bin seit 3 Tagen am testen von Redaxo 3.2 und bin begeistert. Diese Möglichkeiten über Module und Templates....

Jetzt bin ich bei der 'serach_index' angelangt. nach anfänglichen schwierigkeiten und Forumlesen funktioniert sie auch.

nur - jetzt kommts:
man muss ja jedesmal nachdem man einen neuen artikel geschrieben hat
auf "Such Index erneuern" erneuern klicken damit er gefunden wird. Das ist für mich als Programmierer ok - aber ich befürchte für redakteure ist das schwierig zu verstehen.

gibt es eine "Action" oder ähnliches die jedesmal beim speichern eines artikel die Search_index_tabelle neu schreibt????

das wäre doch n sinnvolles feature.

grüße
Ingo
www.new-urban-creation.de
Websites und Web-Anwendungen

dancefan
Beiträge: 246
Registriert: 10. Feb 2006, 22:09
Wohnort: Nidderau

10. Aug 2006, 12:41

Hallo ingoruck,
in Redaxo gebt es "extensionpoints". Das sind Einsprungpunkte, die zu bestimmten Ereignissen aufgerufen werden.
Es gibt auch einen "ART_UPDATED" also Artikel upgedatet. Den kann man dafür verwenden. Vielleicht mal mit dem Schreiber des Search addons in Verbindung setzen.
dancefan

Mensch lerne tanzen, sonst wissen die Engel im Himmel nichts mit dir anzufangen

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

10. Aug 2006, 12:55

hi,

als action zu bauen waere natuerlich klasse.. das dürfte auch nciht so schwer sein.. einfach mal in das addon reinschauen und unter pages die - ich glaube - searchindex.inc.php - schauen.. diesen aufruf in eine "action" legen und diese action einem modul zuweisen. dann sollte es schon gehen .. bisher gibt es das nicht - soweit ich weiss. problem dabei ist nur das er jedesmal den kompletten index erstellt bei einer editierung - und das macht vielleicht nur bei kleineren seiten sinn..

lg

jan
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

ingoruck
Beiträge: 108
Registriert: 10. Aug 2006, 11:43
Wohnort: Berlin
Kontaktdaten: Website

search index für Artikel einzeln updaten, bloss wie?

10. Aug 2006, 16:52

jan hat geschrieben:
problem dabei ist nur das er jedesmal den kompletten index erstellt bei einer editierung - und das macht vielleicht nur bei kleineren seiten sinn..
das sehe ich ein. aber im endeffekt ist der suchindex eine tabelle. man müsste doch "nur" sagen: wenn sich ein artikel oder eine slice ändert, für diesen bitte den index neu schreiben...

nur wie?
www.new-urban-creation.de
Websites und Web-Anwendungen

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

10. Aug 2006, 21:39

Hi,

hier wird es in Zukunft eine Lösung vom Addon heraus selbst geben, welche auf den Extension Points basiert.

Gruß,
Markus

ingoruck
Beiträge: 108
Registriert: 10. Aug 2006, 11:43
Wohnort: Berlin
Kontaktdaten: Website

11. Aug 2006, 15:00

danke :D dann bin ich gespannt darauf, wenn das addon erweitert worden ist...
www.new-urban-creation.de
Websites und Web-Anwendungen

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

26. Jan 2007, 02:46

ist das eigentlich auch in der 3.3 mit drin oder muss ich mir da noch gedanken drüber machen?

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

26. Jan 2007, 08:54

Hej,
cukabeka hat geschrieben:ist das eigentlich auch in der 3.3 mit drin oder muss ich mir da noch gedanken drüber machen?
das hängt vom Addon ab nicht von Redaxo.

vg Thomas

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

4. Apr 2007, 15:11

Hallo zusammen,

wurde bereits eine Action geschrieben, die beim Aktualisieren eines Artikels den Suchindex für diesen aktualisiert?

Auf einer umfangreichen Seite dauert das Erstellen des Suchindex recht lange und wir wären für eine Action dankbar. Außerdem vergisst ein Redakteur gern mal das Erstellen des Suchindex.

Schöne Grüße
von Simon

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

4. Jun 2007, 08:37

Hallo zusammen,

ich habe ganz vergessen, meine Aktion zum Erneuern des Suchindex zu veröffentlichen.

Die Aktion wird als POST definiert und den Stati ADD und EDIT zugewiesen.

Hier der Code.

VG Simon

Code: Alles auswählen

<?php 
$REX['GG'] = true;
$REX['REDAXO'] = false;
$a = new article;
$a->setArticleId($_REQUEST['article_id']);
$a->setClang($_REQUEST['clang']);
$content = $a->getArticle();
$content = strip_tags($content);
$content = mysql_real_escape_string($content);
$sql = new sql;
$sql->setQuery('DELETE FROM rex_12_search_index 
WHERE id = '.$_REQUEST['article_id'].' AND clang = '.$_REQUEST['clang']);
$qry = 'INSERT INTO rex_12_search_index 
(id, path, status, clang, name, keywords, content)
VALUES ('.$a->getValue('article_id').', 
"'.$a->getValue('path').'", 
'.(int)$a->getValue('status').', 
'.$_REQUEST['clang'].', 
"'.$a->getValue('name').'", 
"'.$a->getValue('keywords').'", "'.$content.'")';
$sql->setQuery($qry);

unset($a);
$REX['REDAXO'] = true;
$REX['GG'] = false;
?>

Kalle01
Beiträge: 310
Registriert: 10. Jan 2007, 21:27
Wohnort: Mettmann, NRW
Kontaktdaten: Website

4. Jun 2007, 10:14

@grb2
Für mich als Einsteiger stellt sich da noch folgende Frage:
Ich lege die Action wie von Dir beschrieben an und dann?
Weise ich sie dann allen texterzeugenden Modulen zu wie headline, Textile,... zu?

Danke für kurze Hilfestellung

Gruß Kalle

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

4. Jun 2007, 10:21

Hallo Kalle,

du hast die Sache richtig verstanden. Genau so machst du es.

Wenn du dann z. B. eine Überschrift änderst, sollte die ÄNderung auch sofort in den Suchergebnissen auftauchen.

Schöne Grüße
von Simon

Kalle01
Beiträge: 310
Registriert: 10. Jan 2007, 21:27
Wohnort: Mettmann, NRW
Kontaktdaten: Website

4. Jun 2007, 11:20

Danke,

super Sache, sollte mit in den Standard! (geht natürlich nicht, aber vielleicht findet das ja Eingang in die nächste Demo!)

Gruß Kalle

wgmx
Beiträge: 79
Registriert: 25. Mai 2005, 21:03
Wohnort: México D.F.
Kontaktdaten: ICQ

10. Aug 2007, 18:42

Auch danke von mir. Das automatische Indexieren funktioniert wunderbar!

Gruß aus Mx
Wieland

minime
Beiträge: 46
Registriert: 8. Nov 2007, 15:11

3. Dez 2007, 11:55

Hallo zusammen,

nachdem die Suche bei mir jetzt auch mit redaxo 4.0.1 klappt, würde ich gerne diese Aktion einbauen, damit der Suchindex automatisch erneuert wird.

Dazu habe ich in der Aktion Folgendes geändert:

Code: Alles auswählen

$a = new rex_article;

Code: Alles auswählen

$sql = new rex_sql;

Code: Alles auswählen

VALUES ('.$a->getValue('article_id').',
"'.$a->getValue('path').'",
'.(int)$a->getValue('status').',
'.$_REQUEST['clang'].',
'.(int)$a->getValue('art_online_from').',
'.(int)$a->getValue('art_online_to').',
"'.$a->getValue('name').'",
"'.$a->getValue('art_keywords').'", "'.$content.'")'
Also ich habe das "art_" und "rex_" ergänzt.

Ich habe die Aktion den entsprechenden Modulen zugewiesen, aber es funktioniert leider nicht. Der Suchindex erneuert sich nicht automatisch, erst wenn ich "Suchindex erneuern" im Backend klicke.

Hat schon jemand die Aktion mit Redaxo 4.0.1 verwendet und weiss was ich noch beachten muss?

Viele Grüße, minime

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

3. Dez 2007, 12:46

Hallo,

ich verwende diese Aktion in REDAXO 4 erfolgreich. Folgender code ist beim Feld Postsave-Action eingetragen:

Code: Alles auswählen

<?php 
$REX['GG'] = true;
$REX['REDAXO'] = false;
$a = new article;
$a->setArticleId($_REQUEST['article_id']);
$a->setClang($_REQUEST['clang']);
$content = $a->getArticle();
$content = strip_tags($content);
$content = mysql_real_escape_string($content);
$sql = new sql;
$sql->setQuery('DELETE FROM rex_tmp_12_search_index 
WHERE id = '.$_REQUEST['article_id'].' AND clang = '.$_REQUEST['clang']);
$qry = 'INSERT INTO rex_tmp_12_search_index 
(id, path, status, clang, name, keywords, content)
VALUES ('.$a->getValue('article_id').', 
"'.$a->getValue('path').'", 
'.(int)$a->getValue('status').', 
'.$_REQUEST['clang'].', 
"'.$a->getValue('name').'", 
"'.$a->getValue('keywords').'", "'.$content.'")';
//$sql->debugsql = true;
$sql->setQuery($qry);

unset($a);
$REX['REDAXO'] = true;
$REX['GG'] = false;
?>
HTH
Simon

minime
Beiträge: 46
Registriert: 8. Nov 2007, 15:11

3. Dez 2007, 12:57

Huch ich hab vergessen das Folgende zu ändern:

vorher:

Code: Alles auswählen

INSERT INTO rex_12_search_index
jetzt:

Code: Alles auswählen

INSERT INTO rex_tmp_12_search_index
Und jetzt klappts auch für Redaxo 4.0.1.

Ich bin begeistert :D

loriot
Beiträge: 19
Registriert: 21. Mär 2007, 14:34

7. Jan 2008, 16:01

so, nun steht hier, wie sich der Such-Index-Erneuert und ich verstehe nur Bahnhof....

habe redaxo 3.2.3 und mir das von grb2 durchgelesen, mein Fazit: Böhmische Dorf...

Könnt ihr das Bitte nochmal für einen Laien erklären? Wo genau füge ich den von grb2 erstellten Code ein?

Danke für eure Hilfe!!!

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

7. Jan 2008, 16:36

Hi loriot,

die hier vorgestellte Version des Suchindex erneuerns ist nicht der allgemeine weg.. Dieser verwendet Aktionen/Actions

Einfach das Addon installieren und auf suchindex erneuern klicken..

Gruß,
Markus

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

7. Jan 2010, 16:35

grb2 hat geschrieben:Hallo,

ich verwende diese Aktion in REDAXO 4 erfolgreich. Folgender code ist beim Feld Postsave-Action eingetragen:

Code: Alles auswählen

<?php 
$REX['GG'] = true;
$REX['REDAXO'] = false;
$a = new article;
$a->setArticleId($_REQUEST['article_id']);
$a->setClang($_REQUEST['clang']);
$content = $a->getArticle();
$content = strip_tags($content);
$content = mysql_real_escape_string($content);
$sql = new sql;
$sql->setQuery('DELETE FROM rex_tmp_12_search_index 
WHERE id = '.$_REQUEST['article_id'].' AND clang = '.$_REQUEST['clang']);
$qry = 'INSERT INTO rex_tmp_12_search_index 
(id, path, status, clang, name, keywords, content)
VALUES ('.$a->getValue('article_id').', 
"'.$a->getValue('path').'", 
'.(int)$a->getValue('status').', 
'.$_REQUEST['clang'].', 
"'.$a->getValue('name').'", 
"'.$a->getValue('keywords').'", "'.$content.'")';
//$sql->debugsql = true;
$sql->setQuery($qry);

unset($a);
$REX['REDAXO'] = true;
$REX['GG'] = false;
?>
HTH
Simon
hi!

lässt sich dieses snippet auch für xsearch verwenden?

Zurück zu „Allgemeines [R3]“