eZ Find – per Zufall sortieren

10 Dez

Ich habe gerade die Problemstellung gehabt, per Zufall in Solr zu sortieren.

{def $search = fetch('ezfind', 'search', hash(
	'query',  '',
	'class_id', array('article'),
        'limit', '10',
	'sort_by', $sort_by
}

 normal gibt man ja in meinem Beispiel im sort_by einen Wert mit dem Feldnamen an, nach dem sortiert wird. (article/name)

mit folgenden Beispiel kann man per Zufall sortieren:

{def $search = fetch('ezfind', 'search', hash(
	'query',  '',
	'class_id', array('article'),
        'limit', '10',
	'sort_by', hash(concat(rand(),'_random'),'asc')
}

Die eigentliche Syntax mal genauer betrachtet:

ZUFALLSZAHL/-TEXT_random 

Das wars schon, eigentlich sehr simpel.

Solr und eZ Find Problem

18 Sep

Ich bin vor einigen Tagen auf ein Problem bei eZ Find und Solr hingewiesen worden. Das Resultat war, dass der Artikel nicht indiziert wurde und keiner hat gewusst warum und wieso.

Es konnte bei Solr 3.5 und eZ Find 2.7 mehrmals nachgestellt werden.

Problem und Lösung

Im Grunde geht es um alle Datentypen mit Zahlen (Preise, Float etc.). Darunter fällt leider auch der Datentyp für das Datum. Wenn man einen Import in eZ Publish entwickelt und die Zahlen ohne Werte importiert, dann stellt sich Solr quer und wirft bei der Indizierung einen Fehler!

Also was lernen wir daraus?

  • Zahlenfelder (ob jetzt als Pflichtfeld oder nicht) immer mit dem Standardwert befüllen
  • Datumsfelder bei nicht Verwendung mit 0 befüllen

Dies trifft aber nicht nur beim Import zu, dies kann auch bei der Eingabe im Backend passieren. Also wichtig: Standardwert festlegen!

Weitere Artikel zu eZ Find: