SearchstringParser

PHP-Bibliothek für das Parsen von Sucheingaben

Version 2.0.3 (15.10.2015)
Preis: Gratis / Spende

SearchstringParser ist eine Bibliothek für PHP 5.3 oder höher, die eine »typische« Such­ma­schinen-artige Eingabe parsed und in­ter­pre­tiert. Sie unterstützt Phrasen, erfor­derliche, optio­nale und aus­ges­chlos­sene Ausdrücke sowie Phrasen mittels +, -, AND, NOT und OR.

Wenn Sie eine Such-Software verwenden wie etwa Apache Solr, die das Parsen des Such-Strings selbst erledigt, haben Sie wahr­schein­lich keinen Bedarf für so etwas. Aber in Fällen, wo Sie z.B. aus­tausch­bare Such-Backends haben, für die Sie gleich­förmige Such-Syntax bieten möchten, oder wenn die Ein­gabe als Grund­lage einer normalen Suche in einer SQL- oder NoSQL-Daten­bank verwendet werden soll, kann Ihnen SearchStringParser weiter­helfen. Und selbst wenn Soft­ware wie Solr oder Elastic­search zum Einsatz kommt, kann es sinnvoll sein, mit dieser Bibliothek genau zu kontrollieren, was an die Such-Software übergeben wird, um die Suche zu opti­mieren – beispielsweise durch das Setzen des mm-Parameters von Solr in Ab­hängig­keit von der Anzahl der Suchbegriffe.

Unterstützte Syntax

  • Ein Ausdruck, dem + vorangestellt ist, wird als erforderlich angesehen. Beispiel: +word.
  • Ein AND zwischen zwei Ausdrücken wird dazu führen, dass beide als erforderlich angesehen werden. Beispiel: Hello AND World.
  • Ein Ausdruck, dem - vorangestellt wird, wird als ausgeschlossen angesehen. Beispiel: -word
  • Ein Ausdruck, dem ein NOT vorangestellt wird, wird als ausgeschlossen angesehen. Beispiel: NOT word
  • Ein OR zwischen zwei Ausdrücken wird dazu führen, dass beide als optional angesehen werden. Beispiel: Hello OR World.
  • Phrasen können über doppelte Anführungszeichen kenntlich gemacht werden. Doppelte Anführungszeichen innerhalb einer Phrase können durch einen Backslash escaped werden. Beispiel: "my \" phrase".
  • Das zuvor Gesagte hinsichtlich +, -, AND, OR, NOT gilt analog auch für Phrasen.
  • Ein Ausdruck, auf den keine der obigen Regeln zutrifft, wird per Default als optional angesehen. Dies kann geändert werden, indem dem Klassen-Konstruktor array('defaultOperator' => SearchstringParser:SYMBOL_AND) als Argument 2 übergeben wird, um solche Ausdrücke als erforderlich zu klassifizieren.

Beispiele

  • Hello World ➔ Optionale Ausdrücke »Hello« und »World«, keine erforderlichen or ausgeschlossenen Ausdrücke.
  • Hello World -foobar ➜ Optionale Ausdrücke »Hello« und »World«, ausgeschlossener Ausdruck »foobar«, keine erforderlichen Ausdrücke (äquivalent zu: Hello World NOT foobar)
  • +"search string parser" "PHP 5.6" OR "PHP 5.3" NOT "PHP 4" NOT C# -C++ C ➔ erforderliche Phrase »search string parser«, optionale Phrasen »PHP 5.6« and »PHP 5.3«, ausgeschlossene Phrasen/Ausdrücke »PHP 4«, »C#« und »C++« sowie ignorierter Ausdruck »C« (der kürzer als die Default-Minimallänge von zwei Zeichen ist).

Zurück zur Projekt-Übersicht