![]() |
EGOCMS
24.0
EGOTEC Content-Managament-System
|
Klassendiagramm für Ego_Search:Ö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().
Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:
|
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().
Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
|
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().
Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:| 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().
Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:| 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().
Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:| 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().
Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
|
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().
Hier ist ein Graph, der zeigt, was diese Funktion aufruft:
Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:
|
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().