CLXIII. Swish Functions
简介
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.
本扩展模块是实验性的。本模块的行为,包括其函数的名称以及其它任何关于此模块的文档可能会在没有通知的情况下随 PHP 以后的发布而改变。使用本扩展模块风险自担。
需求
PECL/swish requires PHP 5.1.3 or newer.
安装
安装此 PECL 扩展库的信息可在手册中标题为 PECL 扩展库安装的一章中找到。 更多信息如新版本,下载,源文件,维护者信息以及更新日志等可以在这里找到: » http://pecl.php.net/package/swish.
The latest PECL/swish Win32 DLL can be downloaded here: » php_swish.dll.
运行时配置
本扩展模块在 php.ini 中未定义任何配置选项。
范例
例2303.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";
}
?>
上例的输出类似于:
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)
}
预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。
- 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)
预定义类
indexes - the array of indexes used and their properties. Certain list of properties depends on Swish-e version.
Swish::__construct - constructs new
Swishobject. ThrowsSwishExceptionon error.Swish->prepare - prepares and returns
SwishSearchobject. ThrowsSwishExceptionon error.Swish->query - executes the query and returns
SwishResultsobject. ThrowsSwishExceptionon 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->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
SwishExceptionon error.SwishSearch->resetLimit - resets the limits.
SwishSearch->execute - executes the query and returns
SwishResultsobject. ThrowsSwishExceptionon error.
hits - the number of results in this
SwishResultsobject.indexes - the array of indexes used in the search.
SwishResults->nextResult - returns next
SwishResultobject or FALSE if no more results are available.SwishResults->seekResult - sets the current seek position in the
SwishResultsobject. ThrowsSwishExceptionon error.SwishResults->getParsedWords - returns an array of words in the query with stopwords removed.
SwishResults->getRemovedStopwords - returns an array of removed stopwords.
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
SwishExceptionon error.
SwishException extends the built in
Exception class and possesses the same set of
properties and methods. See “扩展 PHP 内置的异常处理类”一节 for more details.
目录
- Swish::__construct Construct a Swish object
- Swish->getMetaList Get the list of meta entries for the index
- Swish->getPropertyList Get the list of properties for the index
- Swish->prepare Prepare a search query
- Swish->query Execute a query and return results object
- SwishResult->getMetaList Get a list of meta entries
- SwishResult->stem Stems the given word
- SwishResults->getParsedWords Get an array of parsed words
- SwishResults->getRemovedStopwords Get an array of stopwords removed from the query
- SwishResults->nextResult Get the next search result
- SwishResults->seekResult Set current seek pointer to the given position
- SwishSearch->execute Execute the search and get the results
- SwishSearch->resetLimit Reset the search limits
- SwishSearch->setLimit Set the search limits
- SwishSearch->setPhraseDelimiter Set the phrase delimiter
- SwishSearch->setSort Set the sort order
- SwishSearch->setStructure Set the structure flag in the search object
add a note
User Contributed NotesSwish Functions

swf_viewport