Die Klasse SearchIndexedProperty

Mit dieser Klasse können Sie Ihre Suche weiter verfeinern. Sie nimmt den Namen eines indexierten Properties und einen Suchbegriff auf. Der Suchbegriff kann aus mehreren Begriffen, welche durch Leerzeichen getrennt werden, bestehen.

Um die Klasse bei der Suche zu verwenden, müssen Sie die Objekte dem Array $searchIndexedProperties der Klasse SearchParameter zuordnen. Als Folge davon können Sie nun konkret in den indexierten Properties nach Begriffen suchen. Es handelt sich, wie bei dem Suchbegriff der Klasse SearchParameter, um eine Wortanfangssuche und auch hier kann der Wildcard * benutzt werden.

Die Klasse SearchIndexedProperty nimmt bei der Instanziierung zwei Parameter auf.

  1. Den Call-Namen des Properties.
  2. Einen Suchstring. Bei mehreren Begriffen müssen alle gefunden werden.

Hier ein Beispiel für die Verwendung der Klasse SearchIndexedProperty - eine User-Anmeldung:

$docTypes = array();
$docTypes[] = 'user';
$searchPara = new SearchParameter("", $docTypes, true);
$seachPara->searchIndexedProperties[] = new SearchIndexedProperty('login', 'schroeder03');
$seachPara->searchIndexedProperties[] = new SearchIndexedProperty('pass', 'geheim');
 

Hier wird nach Dokumenten vom Typ mit Call-Namen "user" gesucht. Die Eigenschaft mit dem Call-Namen "login" muss mit "schroeder03" beginnen und die Eigenschaft mit dem Call-Namen "pass" filtert User heraus, deren Passwort mit "geheim" beginnt. Nun können Sie die kurze Liste der gefundenen Dokumente durchgehen und auf Gleichheit von Login und Passwort vergleichen.

Bedenken Sie aber: Wenn Sie nach einem Property suchen, welches nicht im gewählten Dokument-Type vorhanden ist, ist das Suchergebnis immer leer - eigentlich logisch, oder?