![]() |
EGOCMS
24.0
EGOTEC Content-Managament-System
|
Öffentliche Methoden | |
delete ( $index) | |
reset () | |
update ($index, $page) | |
search ($search, $relation, $query) | |
globalSearch ($search, $sites=array(), $query=array(), $param=array(), $sort=array(), $filter='') | |
filterContent ($content, $k='extra') | |
filterExtra ($page) | |
setExtraQuery ($query, $bind=array()) | |
clearCache () | |
getSuggestions ($query, $sites=[], $max=5) | |
getCorrections ($query, $sites=[], $max=3) | |
Geschützte Methoden | |
sortPages ($pages, $order='', $sort=array()) | |
_getContent ($page, $k) | |
_getExtra ($page, $clean=false) | |
prepareSearch ($search, $filter='', $original=false, $fuzzy=false) | |
checkSearch ($search) | |
Geschützte Attribute | |
$config = [] | |
$extraQuery = '' | |
Definiert in Zeile 8 der Datei Ego_Search.php.
|
protected |
Inhalt für einen Schlüssel ermitteln
Page | $page | Die zu indizierende Seite. |
string | $k | Schlüssel |
Definiert in Zeile 166 der Datei Ego_Search.php.
Benutzt Ego_System\arrayFlatRecursive(), Ego_System\arrayValuesRecursive(), filterContent() und filterExtra().
Wird benutzt von Ego_Search_Sql\update().
|
protected |
Alle Key-Value-Paare als flaches Array zurückliefern
Page | $page | |
boolean | $clean | Nur sinnvolle Werte ermitteln |
Definiert in Zeile 281 der Datei Ego_Search.php.
Benutzt Ego_System\arrayFlatRecursive(), filterContent() und filterExtra().
|
protected |
Die Länge des Suchstrings prüfen und ggf. einen Fehler ausgeben
string | $search |
Definiert in Zeile 595 der Datei Ego_Search.php.
Wird benutzt von globalSearch() und Ego_Search_Sql\search().
clearCache | ( | ) |
Cache leeren.
Erneute Implementation in Ego_Search_Elastic.
Definiert in Zeile 585 der Datei Ego_Search.php.
|
abstract |
Einen Eintrag im Index löschen.
integer | $index | Der Index des Eintrags. |
Erneute Implementation in Ego_Search_Sql und Ego_Search_Elastic.
filterContent | ( | $content, | |
$k = 'extra' |
|||
) |
Den Inhalt vor der Verwendung säubern
string | $content | |
string | $k |
Definiert in Zeile 299 der Datei Ego_Search.php.
Wird benutzt von _getContent() und _getExtra().
filterExtra | ( | $page | ) |
Das Extra Feld vor der Verwendung säubern
array | $page |
Definiert in Zeile 325 der Datei Ego_Search.php.
Wird benutzt von _getContent() und _getExtra().
getCorrections | ( | $query, | |
$sites = [] , |
|||
$max = 3 |
|||
) |
Korrekturen für ein Suchmuster ermitteln
string | $query | Suchmuster |
array | $sites | Liste von Site Objekten oder Mandantennamen (Standard: aktueller Mandant) |
integer | $max | Maximale Anzahl an Vorschläge |
Erneute Implementation in Ego_Search_Elastic.
Definiert in Zeile 627 der Datei Ego_Search.php.
getSuggestions | ( | $query, | |
$sites = [] , |
|||
$max = 5 |
|||
) |
Vorschläge für ein Suchmuster ermitteln
string | $query | Suchmuster |
array | $sites | Liste von Site Objekten oder Mandantennamen (Standard: aktueller Mandant) |
integer | $max | Maximale Anzahl an Vorschläge |
Erneute Implementation in Ego_Search_Elastic.
Definiert in Zeile 614 der Datei Ego_Search.php.
globalSearch | ( | $search, | |
$sites = array() , |
|||
$query = array() , |
|||
$param = array() , |
|||
$sort = array() , |
|||
$filter = '' |
|||
) |
Mandantenübergreifende Suche
string | $search | Suchbegriff |
array | $sites | Liste von Site Objekten oder Mandantennamen (Standard: alle Mandanten) |
array | $query | Ein Query Array für die Datenbank |
array | $param | Site Parameter |
array | $sort | Direkte Sortierung ansonsten über Query Order, falls angegeben |
string | $filter | Weitere Filter |
Erneute Implementation in Ego_Search_Elastic.
Definiert in Zeile 104 der Datei Ego_Search.php.
Benutzt checkSearch(), Ego_System\getAllSites() und sortPages().
|
protected |
Suchbegriff vorbereiten (Lucene/Elasticsearch)
string | $search | Suchbegriff |
string | $filter | Filter |
boolean | $original | Ohne zusätzliche Queries |
boolean | $fuzzy | Ähnlichkeitssuche aktivieren |
Definiert in Zeile 460 der Datei Ego_Search.php.
|
abstract |
Den kompletten Index löschen und neu aufbauen.
Die Indextabelle wird komplett zerstört und neu erstellt.
Erneute Implementation in Ego_Search_Sql und Ego_Search_Elastic.
|
abstract |
Eine Suche durchführen.
string | $search | Suchzeichenkette. |
string | $relation | Der Id zugehöriges Feld in der Origialanfrage (z.B.demo_de.id). |
Array | $query | Anfragefeld. |
setExtraQuery | ( | $query, | |
$bind = array() |
|||
) |
Die Fulltext Query mit der Extra Suche erweitern
Die Query Syntax ähnelt SQL, wird aber nur bedingt unterstützt:
Ein Extra Feld muss dieses Muster haben: extra.KEY Beispiele:
Mit $bind werden Werte übergeben, die für die Verwendung im generierten Query abgesichert werden. Die Schlüssel werden im übergebenen Query mit : gesetzt. Beispiel: $query: extra.name = :name $bind: ['name' => 'foobar']
string | $query | |
array | $bind |
Erneute Implementation in Ego_Search_Elastic.
Definiert in Zeile 391 der Datei Ego_Search.php.
|
protected |
Ergebnisse sortieren
Beispiele: $order = name ASC > Aufsteigend sortieren nach dem Feld "name". Nur einfache Sortierung, kein "foo ASC, bar DESC".
$sort = array('extra', 'foobar', 'desc') > Absteigend sortieren nach dem Extra Feld "foobar".
Standard: > Absteigend sortieren nach dem Feld "score".
array | Page_Iterator | $pages | |
string | $order | Falls angegeben, wird die SQL ORDER BY Klausel angewendet |
array | $sort | Falls angegeben, werden die Parameter an Ego_System::sortPages übergeben |
Definiert in Zeile 150 der Datei Ego_Search.php.
Benutzt Ego_System\sortPages().
Wird benutzt von globalSearch().
|
abstract |
Einen Eintrag einfügen.
|
protected |
Definiert in Zeile 10 der Datei Ego_Search.php.
|
protected |
Definiert in Zeile 91 der Datei Ego_Search.php.
Wird benutzt von Ego_Search_Sql\search().