PHP Handbuch
Zurück |  | Weiter

# CLXIII. Swish Functions

# Einführung

The swish extension provides the bindings for Swish-e API. Swish-e stands for "Simple Web Indexing System for Humans - Enhanced" and is an open source system for indexing and search. Swish-e itself is licensed under GPL license, but uses a clause that allows applications to link against the library if every copy of the combined work is accompanied by the URL to Swish-e source code. Here it is: http://swish-e.org.

Warnung
Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.

# Anforderungen

PECL/swish requires PHP 5.1.3 or newer.

# Installation

Zusätzliche Informationen, wie neue Releases, Downloads Quelldateien, Maintainerinformation und ein CHANGELOG finden Sie hier: http://pecl.php.net/package/swish.

The latest PECL/swish Win32 DLL can be downloaded here: php_swish.dll.

# Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der `php.ini`.

# Beispiele

Beispiel 1. Basic search query

`<?php try { $swish = new Swish("index.swish-e"); $results = $swish->query("test OR text"); echo "Found ", $results->hits, " results\n"; while ($result = $results->nextResult()) { var_dump($result); break; //break after the first result } } catch (SwishException $e) { echo "Error: ", $e->getMessage(), "\n"; } ?>`

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

    Found 9 results
    object(SwishResult)#3 (8) {
      ["swishreccount"]=>
      int(1)
      ["swishrank"]=>
      int(1000)
      ["swishfilenum"]=>
      int(10)
      ["swishdbfile"]=>
      string(13) "index.swish-e"
      ["swishdocpath"]=>
      string(23) "README.SUBMITTING_PATCH"
      ["swishtitle"]=>
      NULL
      ["swishdocsize"]=>
      int(4557)
      ["swishlastmodified"]=>
      int(1072136752)
    }

# Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

`Swish::META_TYPE_UNDEF` (integer)

`Swish::META_TYPE_STRING` (integer)

`Swish::META_TYPE_ULONG` (integer)

`Swish::META_TYPE_DATE` (integer)

`Swish::IN_FILE_BIT` (integer)

`Swish::IN_TITLE_BIT` (integer)

`Swish::IN_HEAD_BIT` (integer)

`Swish::IN_BODY_BIT` (integer)

`Swish::IN_COMMENTS_BIT` (integer)

`Swish::IN_HEADER_BIT` (integer)

`Swish::IN_EMPHASIZED_BIT` (integer)

`Swish::IN_META_BIT` (integer)

`Swish::IN_FILE` (integer)

`Swish::IN_TITLE` (integer)

`Swish::IN_HEAD` (integer)

`Swish::IN_BODY` (integer)

`Swish::IN_COMMENTS` (integer)

`Swish::IN_HEADER` (integer)

`Swish::IN_EMPHASIZED` (integer)

`Swish::IN_META` (integer)

`Swish::IN_ALL` (integer)

# Vordefinierte Klassen

### Swish

#### Eigenschaften

- indexes - the array of indexes used and their properties. Certain list of properties depends on Swish-e version.

#### Methoden

- Swish::__construct - constructs new Swish object. Throws SwishException on error.

- Swish->prepare - prepares and returns SwishSearch object. Throws SwishException on error.

- Swish->query - executes the query and returns SwishResults object. Throws SwishException on error.

- Swish->getMetaList - returns an array of meta entries for the given index file.

- Swish->getPropertyList - returns an array of properties for the given index file.

### SwishSearch

#### Methoden

- SwishSearch->setStructure - sets the structure flag in the search object. This flag is used to limit search to certain parts of HTML documents.

- SwishSearch->setPhraseDelimiter - sets the phrase delimiter character. The default delimiter is double-quotes.

- SwishSearch->setSort - sets the sort order of the results.

- SwishSearch->setLimit - sets the limits for the search. Throws SwishException on error.

- SwishSearch->resetLimit - resets the limits.

- SwishSearch->execute - executes the query and returns SwishResults object. Throws SwishException on error.

### SwishResults

#### Eigenschaften

- hits - the number of results in this SwishResults object.

- indexes - the array of indexes used in the search.

#### Methoden

- SwishResults->nextResult - returns next SwishResult object or `FALSE` if no more results are available.

- SwishResults->seekResult - sets the current seek position in the SwishResults object. Throws SwishException on error.

- SwishResults->getParsedWords - returns an array of words in the query with stopwords removed.

- SwishResults->getRemovedStopwords - returns an array of removed stopwords.

### SwishResult

#### Eigenschaften

- Properties list depends on Swish-e version, see examples.

#### Methoden

- SwishResult->getMetaList - returns an array of meta entries for the index used in this result.

- SwishResult->stem - stems the word and returns result as an array of strings. Throws SwishException on error.

### SwishException

SwishException extends the built in Exception class and possesses the same set of properties and methods. See Abschnitt namens Ausnahmen erweitern in Kapitel 20 for more details.

Zurück | Zum Anfang | Weiter
swf_viewport | Nach oben | Swish::__construct