Manual do PHP
Anterior |  | Próxima

# CLXIII. Swish Functions

# Introdução

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.

Atenção
Este módulo é EXPERIMENTAL. Isso quer dizer que o comportamento neste módulo --- incluindo suas funções e seus nomes, e TUDO mais que está documentado sobre esse módulo --- poderá mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. Esteja avisado, e use este módulo por sua própria conta e risco.

# Dependências

PECL/swish requires PHP 5.1.3 or newer.

# Instalação

Informações para a instalação desta extensão PECL podem ser encontradas no manual no capitulo entitulado Instalação de extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções, e um Changelog, podem ser obtidos aqui: http://pecl.php.net/package/swish.

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

# Configurações em execução

Esta extensão não define nenhum parâmetro de configuração no `php.ini`.

# Exemplos

Exemplo 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"; } ?>`

O exemplo acima irá imprimir algo similar a:

    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)
    }

# Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

`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)

# Classes pré-definidas

### Swish

#### Propriedades

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

#### Métodos

- 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

#### Métodos

- 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

#### Propriedades

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

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

#### Métodos

- 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

#### Propriedades

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

#### Métodos

- 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 a seção Herdando Exceções Capítulo 20 for more details.

Anterior | Principal | Próxima
swf_viewport | Acima | Swish::__construct