[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 28 - 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/
Kucki2
Beiträge: 146
Registriert: 18. Feb 2008, 22:12

Re: Addon RexSearch (Fulltext-Search-Addon)

6. Okt 2015, 20:06

Hi Thomas,

ich habe RexSearch jetzt auch mit Redaxo 4.6 im Einsatz. Leider tritt bei mir das gleiche "Problem" mit der Ähnlichkeitssuche auf wie bei dir. Hast du dafür zwischenzeitlich eine Lösung gefunden.

Grüße, Antje.

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: Addon RexSearch (Fulltext-Search-Addon)

7. Okt 2015, 16:12

Hi, nein leider nicht. Habe die Ähnlichkeitssuche abgeschaltet.

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

Re: Addon RexSearch (Fulltext-Search-Addon)

30. Okt 2015, 17:31

Könnt ihr mal eure Settings und die Modulausgabe posten?
Oder einen Zugang zum (Test)system anlegen? (Mit FTP, Redaxo MySQL)
LG,
Xong

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

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

Re: Addon RexSearch (Fulltext-Search-Addon)

31. Okt 2015, 18:15

Da war wohl eine Aktualisierung des Addons nicht mehr mit den Beispielmodulen konform.
Ich hab die Beispielmodule entsprechend angepasst.

Eventuell behebt das auch den Fehler von Ralf.
LG,
Xong

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

dpf_dd
Beiträge: 151
Registriert: 20. Dez 2007, 14:07

Re: Addon RexSearch (Fulltext-Search-Addon)

3. Nov 2015, 00:26

Hi Xong :)

super Add-On, spart mir viel Zeit und Nerven (und Knowhow) ;)
Das i-Tüpfelchen wäre, wenn man zusätzlich zu den ohnehin sehr reichhaltigen Einstellungsmöglichkeiten noch einzelne Module von der Suche ausschließen könnte.

Ich habe z.B. bei einem Projekt in der Marginalspalte eine Liste mit Links zu Personen. Diese Liste ist immer das gleiche Modul (datenbankgespeist). Es wäre irgendwie cool, wenn diese Listen mir nicht die Trefferliste künstlich aufblähen.

Könnte man da nicht evtl. bei den Options ein Input-Feld einbauen, in das kommagetrennt auszuschließende Modul-IDs einzutragen gehen. Dann die DB-Abfrage auf das Feld der Modul-ID erweitern (müsste ja die gleiche Tabelle sein) und mit einer WHERE-Bedingung die eingetragenen Modul-IDs vom SELECT ausschließen. Ich denke eigentlich, das sollte so machbar sein. Nur hab ich keine Ahnung inwieweit das performance-technisch ein Problem sein könnte? Kannst du dazu etwas sagen? :)

Vielen Dank und
MfG- Stefan / dpf_dd

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

Re: Addon RexSearch (Fulltext-Search-Addon)

3. Nov 2015, 11:04

Hi Stefan,

das klingt zwar erstmal nach einer guten Idee, allerdings gibt es zwei Gründe, die dagegen sprechen:
  1. Die Blöcke werden sowieso in den Suchcache geschrieben, wenn der ganze Artikel indexiert wird. Da RexSearch sich auf Redaxo-Funktionen verlässt, kann man hier erstmal wenig machen.
  2. Es lässt sich jetzt schon realisieren: Über das Plaintext-Plugin kannst du ganze HTML-Elemente mittels CSS-Selektoren ausschließen. Dafür müssen deine nicht erwünschten Blöcke einfach nur eindeutig selektiert werden können.
Performant ist diese Lösung auch, weil sie schon bei der Indexierung ansetzt.
Ich hab das Addon so entwickelt, dass die Indexierung so aufwändig wie möglich ist, die Suche aber nur so wie nötig. ;)
LG,
Xong

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

dpf_dd
Beiträge: 151
Registriert: 20. Dez 2007, 14:07

Re: Addon RexSearch (Fulltext-Search-Addon)

3. Nov 2015, 11:44

Ah, Punkt 2 ist sehr geil.
Ich hatte bei der Ausgabe entdeckt, dass du den Text aus DB-Feldern bereits in 2 Varianten einbindest, a) so wie er in der DB steht und b) als Plaintext. Daher war mir nicht klar, wozu ich das Plaintext-Plugin noch benötige. Jetzt weiß ich es. Lösung funktioniert tadellos. Vielen Dank 8)

Benutzeravatar
alexplus
Beiträge: 212
Registriert: 13. Feb 2007, 15:03
Wohnort: Heilbronn
Kontaktdaten: Website

Re: Addon RexSearch (Fulltext-Search-Addon)

9. Nov 2015, 17:06

Hi Xong,

ich habe deine Module im Wiki angepasst und $_REQUEST durch rex_request('rexsearch', 'string') ersetzt. Ich hoffe, das ist okay so, wenn nicht, kannst du es ja wieder auf die Version davor zurückspielen.

VG
Alex

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

Re: Addon RexSearch (Fulltext-Search-Addon)

9. Nov 2015, 18:21

Hi Alex,

das kannst du gerne machen.

Ich hab das nur so gemacht, weil Redaxo die Eingaben mittels addslashes vorbehandelt hat.
Ich weiß grad nicht, ob das immer noch der Fall ist.
LG,
Xong

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

Benutzeravatar
alexplus
Beiträge: 212
Registriert: 13. Feb 2007, 15:03
Wohnort: Heilbronn
Kontaktdaten: Website

Re: Addon RexSearch (Fulltext-Search-Addon)

9. Nov 2015, 21:02

Skerbis hat geschrieben:Hallo und Danke für Rexsearch.
1) Gibt es eine Möglichkeit dem Addon mitzuteilen, dass es die Treffer nach z.B. Create-Date oder updatedate sortiert ausgibt?
Das wollte ich auch mal ausprobieren und bin auf diese Zeile gestoßen, müsste also gehen:

https://github.com/xong/rexsearch/blob/ ... .php#L1367

Leider reichen meine Trial-and-Error-Skills nicht aus. Sobald ich das gewünschte Array mitgebe, bekomme ich 0 Treffer. Mache ich was falsch?

$order['prename'] = 'ASC';

$contacts_serach = new RexSearch();
$contacts_serach->setLimit(array($start = isset($_GET['start'])?intval($_GET['start']):0, SHOWMAX));
$contacts_serach->doSearchArticles(false);
$contacts_serach->searchInDbColumn($REX['TABLE_PREFIX'].'contacts', 'prename');
$contacts_serach->searchInDbColumn($REX['TABLE_PREFIX'].'contacts', 'name');
// $contacts_serach->setOrder($order); // Wenn ich diese auskommentiere, bekomme ich 0 Ergebnisse

$contacts = $contacts_serach->search($_REQUEST['search']);

if($contacts['count'] > 0)
{
...

Bio
Beiträge: 9
Registriert: 17. Nov 2015, 11:00

Re: Addon RexSearch (Fulltext-Search-Addon)

17. Nov 2015, 11:06

Hallo zusammen,

wollte heute mal dieses Addon ausprobieren. Leider bekomme ich bei der Modulausgabe immer eine Fehlermeldung. Egal welches Beispielmodul ich auch einsetze.

Fatal error: Can't use function return value in write context in E:\xampp\htdocs\testseite\redaxo\include\classes\class.rex_article_base.inc.php(361) : eval()'d code on line 74

Bitte um Hilfe.
Rene

Ingo
Beiträge: 782
Registriert: 24. Jun 2010, 00:34

Re: Addon RexSearch (Fulltext-Search-Addon)

17. Nov 2015, 11:30

Bio hat geschrieben:Fatal error: Can't use function return value in write context
Wenn man im Cyberweb nach der Fehlermeldung sucht findet man das hier: http://stackoverflow.com/a/17139306. Vielleicht ist eine PHP Version < 5.5 dein Problem.

Bio
Beiträge: 9
Registriert: 17. Nov 2015, 11:00

Re: Addon RexSearch (Fulltext-Search-Addon)

17. Nov 2015, 12:37

Upps, danke für die Brille. ;-)

iceman-fx
Beiträge: 467
Registriert: 13. Feb 2007, 16:16
Wohnort: Sachsen
Kontaktdaten: Website

Re: Addon RexSearch (Fulltext-Search-Addon)

11. Jan 2016, 11:50

Hi Leute,

ich nutze rexSearch und möchte nun eine Einschränkung nach Kategorien hinzufügen.
Jedoch bringt der Code aus dem Wiki keine Ausgabe:

Code: Alles auswählen

<?php
$cat_select = new rex_category_select(true, REX_CLANG_ID, false, false);
	$cat_select->setAttribute('id', 'skat');
	$cat_select->setAttribute('name', 'skat');
	$cat_select->setAttribute('size', '1');
	$cat_select->setSelected(rex_request('skat', 'array', array()));
$cat_select->show();
?>
Hat jemand eine Idee, warum der Code keine Kategorien auflistet ?
VG iceman

_____________________________________________________________
www.fotodesign360.de / www.falkomueller.com

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

Re: Addon RexSearch (Fulltext-Search-Addon)

14. Jan 2016, 13:51

Hi,

der Code sieht soweit richtig aus.
Wird denn überhaupt ein HTML-Code ausgegeben?
LG,
Xong

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

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

Re: Addon RexSearch (Fulltext-Search-Addon)

12. Feb 2016, 02:11

Hallo,

da ich ein paar Anfragen bekommen habe, wann ich RexSearch für Redaxo 5 umsetzen werde, hier der aktuelle Status.

Ich bin im Moment mit Arbeit extrem ausgelastet und kann deshalb noch nicht genau sagen, wann RexSearch für Redaxo 5 erscheint.
Auch würde ich gern für die Entwicklung von RexSearch zukünftig einen kleinen Beitrag verlangen. Auf dem letzten Redaxotag in Frankfurt habe ich diesbezüglich auch schon sehr positives Feedback bekommen.
Diesen Schritt würde ich deshalb gern mit euch zusammen planen.

Und jetzt mal Klartext: RexSearch für Redaxo 5 wird nicht vor Ende Mai erscheinen.
Das liegt zum einen an meiner derzeitigen Auslastung, zum anderen aber auch an der Komplexität, die die Portierung mit sich bringt.

Dank für euer Verständnis.
Ich melde mich Ende des Monats nochmal an dieser Stelle.
LG,
Xong

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

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

Re: Addon RexSearch (Fulltext-Search-Addon)

19. Feb 2016, 00:18

Hallo Robert,

sobald Du Dich mit dem Thema beschäftigst, sag bescheid. Wenn Du weisst welcher Aufwand entsteht können wir das auch gerne pragnanter posten, so dass Du weisst, wieviel die COmmunity beisteuern kann. Vielleicht beschleunigt das sogar den Prozess .. Melde Dich, wenn ich helfen kann.

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

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: Addon RexSearch (Fulltext-Search-Addon)

16. Mär 2016, 21:03

Hallo,

ich hab grad ein Problem mit der Indexierung die ich mir nicht ganz erklären kann:

Zum einen funktioniert die Indexierung mal genrell nur mit "Indexierung der Artikel über eine HTTP-GET-Anfrage". D.h. bei der schrittweisen indexierung werden alle Artikel angeführt und scheinbar indexiert - nur glaube ich wird nichts in die DB geschrieben.
Aktuell steht nur in der rex_587_searchindex was und da immer nur
(740,'2',2,'rex_article','','article',0,'','','','',' ',''),
(741,'3',3,'rex_article','','article',0,'','','','',' ',''),
(742,'4',4,'rex_article','','article',0,'','','','',' ',''),

Wenn ich eine Indexierung über den cache machen will geht das gar nicht - das script fängt gar nicht erst an die artikel aufzulisten.

Folglich ist das Problem dass egal welches suchwort ich eingebe nie etwas gefunden wird.

Das eigenartige ist dass es zu Beginn schon funktioniert hat (indexierung über cache). Jetzt wurde die Seite mit sehr vielen Artikeln befüllt und nun hauts irgendwie nicht mehr hin. Auch suchecache löschen usw. hat nichts gebracht.

REDAXO: 4.6.2
PHP v ist 5.4.45-0+deb7u2
rexsearch Version: 0.7.8

Danke für Hilfe!
lg steri

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

Re: Addon RexSearch (Fulltext-Search-Addon)

17. Mär 2016, 18:02

Hi,

kannst du mir einen Backendzugang geben?
Dann kann ich mir das mal anschauen.

Dass da gar nichts indexiert wird, ist sehr komisch.
LG,
Xong

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

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: Addon RexSearch (Fulltext-Search-Addon)

17. Mär 2016, 23:22

hallo,
hab die indexierung wieder zum laufen bekommen indem ich die Startseite bzw. Artikel ID 1 von der Suche bzw. Indexierung ausgenomme habe. Auf der Startseite werden viele andere Artikel angeteasert - da waren ein paar nicht mehr vorhanden Artikel dabei - die hab ich nun raus gelöscht - nun wird auch Artikel ID 1 wieder problemlos indexiert.

majas
Beiträge: 48
Registriert: 5. Mai 2015, 23:11

Re: Addon RexSearch (Fulltext-Search-Addon)

7. Jun 2016, 00:11

Hallo,

ich hätte da mal eine Frage, gibt es für die aktuelle RexSearch Version eine Suggest Funktion.
Das JQuery Modul Autocomplete ist ja nicht mehr Online

Danke und Gruß Andy

Rex Version 4.7

Benutzeravatar
alexplus
Beiträge: 212
Registriert: 13. Feb 2007, 15:03
Wohnort: Heilbronn
Kontaktdaten: Website

Re: Addon RexSearch (Fulltext-Search-Addon)

7. Jun 2016, 09:27

majas hat geschrieben:Hallo,
ich hätte da mal eine Frage, gibt es für die aktuelle RexSearch Version eine Suggest Funktion.
Rex Version 4.7
Du kannst sie selbst nachbauen und brauchst dafür

1. jQuery Autocomplete
https://jqueryui.com/autocomplete/#remote oder
https://jqueryui.com/autocomplete/#remote-jsonp

2. Ein Template, das nur den Artikel ausgibt ohne HTML

3. Einen Artikel, bspw. "Suchergebnis-Daten"

4. Ein Modul, bspw. "Suchergebnis-Daten", das den Such-Parameter des jQuery-Scripts entgegen nimmt und Ergebnisdaten ausliefert.

In meinem nachfolgenden Code-Beispiel habe ich, weil ich mit JSON noch nicht so viel gemacht habe, ein Modul, das den Suchparameter entgegennimmt und das HTML für die Suchergebnis-Box ausgibt.

PHP

Code: Alles auswählen

$html = '';
$html .= '<div class="search-result-item">';
$html .= '<img src="/imagetypes/contacts/###image###"/>';
$html .= '<div class="contact-title">###title###</div>';
$html .= '<div class="contact-description">###description###</div>';
$html .= '<div class="contact-actions"><a href="###url###">###url-text###</a></div>';
$html .= '</div>';	


$term = $_REQUEST['search'];
if(!empty($_REQUEST['search']))
{
       /* Reguläre Artikelsuche 
	$pages_serach = new RexSearch();
	$pages_serach->setLimit(array($offset, 10));
	$pages_serach->doSearchArticles(true);
 	$pages_serach->searchInDbColumn('rex_article', 'name');
 	$pages_serach->searchInDbColumn('rex_article', 'seo_description');
	$pages = $pages_serach->search($_REQUEST['search']); */

	/* Datenbank "Kontakte" durchsuchen */
	$contacts_serach = new RexSearch();
	$contacts_serach->setLimit(array($start = isset($_GET['start'])?intval($_GET['start']):0, 3));
	$contacts_serach->doSearchArticles(false);
	$contacts_serach->searchInDbColumn($REX['TABLE_PREFIX'].'xf_contacts', 'prename');
	$contacts_serach->searchInDbColumn($REX['TABLE_PREFIX'].'xf_contacts', 'name');
	$contacts_serach->searchInDbColumn($REX['TABLE_PREFIX'].'xf_contacts', 'job');
	$contacts_serach->searchInDbColumn($REX['TABLE_PREFIX'].'xf_contacts', 'name_short');
	$contacts = $contacts_serach->search($_REQUEST['search']);
?>



<!-- Ausgabe Suchergebnisse Kontakte -->
	<?
		if($contacts['count'] > 0)
	{
	echo '<div class="notice success"><i class="fa fa-exclamation-circle"></i>'.$contacts['count'].' Personen gefunden.</div>';
	echo '<div class="layout-contact">';
	
		foreach ($contacts['hits'] as $hit) {


			# print_r($hit);

			// Format Output Strings And Hightlight Matches
			$title = preg_replace("/".$term."/i", "<strong class='highlight'>$0</strong>", $hit['values']['prename']." ".$hit['values']['name']);

			// Insert Name
			$output = str_replace('###title###', $title, $html);
			$output = str_replace('###image###', $hit['values']['image'], $output);
			$output = str_replace('###description###', $hit['values']['job'], $output);
			$output = str_replace('###url###', "", $output);
			$output = str_replace('###url-text###', "Mail schreiben", $output);
			echo($output);
		}


		if($contacts['count'] > 3) {

			// Insert Name
			$output = str_replace('###title###', "Weitere Personen", $html);
			$output = str_replace('###image###', "contacts_default.jpg", $output);
			$output = str_replace('###description###', "", $output);
			$output = str_replace('###url###', "", $output);
			$output = str_replace('###url-text###', "Alle anzeigen", $output);
			echo($output);

		}

	} else {
	
		echo('<div class="notice error">Keine Personen gefunden</div>');
	}
	?>
</div>
Javascript:

Code: Alles auswählen

// AJAX-Suche
$(document).ready(function() {  

	// Live Search
	// On Search Submit and Get Results
	function search() {
		var query_value = $('input.search').val();
		console.log("query_value: "+query_value);
		$('b#search-string').text(query_value);
		if(query_value !== ''){
			$.ajax({
				type: "POST",
				[b]url: "/suchergebnis-daten/",[/b]
				data: { search: query_value },
				cache: false,
				success: function(html){
					$("#results").html(html);
					console.log("html:"+html);
					$("body").addClass("has-overlay");
				}
			});
		}return false;    
	}

	$("input.search").on("keyup", function(e) {
		// Set Timeout
		clearTimeout($.data(this, 'timer'));
		console.log(e);

		// Set Search String
		var search_string = $(this).val();
		console.log(search_string);

		// Do Search
		if (search_string == '') {
			$("#results").fadeOut();
		}else{
			$("#results").fadeIn();
			$(this).data('timer', setTimeout(search, 100));
		};
	});

});

Das ist jetzt nicht 1:1 kopierfertig aber vlt. ein guter Ansatz für dich.

Zurück zu „Allgemeines [R4]“