sphinx调用API参考(官方手册)
Sphnix有几种不同编程语言的searchd客户端API的实现。在本文完成之时,我们对我们自己的PHP,Python和java实现提供官方支持。此外,也有一些针对Perl,Ruby和C++的第三方免费、开源API实现。
API的参考实现是用PHP写成的,因为(我们相信)较之其他语言,Sphinx在PHP中应用最广泛。因此这份参考文档基于PHP API的参考,而且这节中的所有的代码样例都用PHP给出。
当然,其他所有API都提供相同的方法,也使用完全相同的网络协议。因此这份文档对他们同样适用。在方法命名习惯方面或者具体数据结构的使用上可能会有小的差别。但不同语言的API提供的功能上绝不会有差异。
6.1. 通用API方法
6.1.1. GetLastError (错误信息)
原型: function GetLastError()
以可读形式返回最近的错误描述信息。如果前一次API调用没有错误,返回空字符串。
任何其他函数(如 )失败后(函数失败一般返回false),都应该调用这个函数,它将返回错误的描述。
此函数本身并不重置对错误描述,因此如有必要,可以多次调用。
6.1.2. GetLastWarning (告警信息)
原型: function GetLastWarning ()
以可读格式返回最近的警告描述信息。如果前一次API调用没有警告,返回空字符串。
您应该调用这个函数来确认您的请求(如 )是否虽然完成了但产生了警告。例如,即使几个远程代理超时了,对分布式索引的搜索查询也可能成功完成。这时会产生一个警告信息。
此函数本身不会重置警告信息,因此如有必要,可以多次调用。
6.1.3. SetServer (设置搜索服务)
原型: function SetServer ( $host, $port )
设置searchd的主机名和TCP端口。此后的所有请求都使用新的主机和端口设置。默认的主机和端口分别是“localhost”和9312。
6.1.4. SetRetries (设置失败重试)
原型: function SetRetries ( $count, $delay=0 )
设置分布式搜索重试的次数和延迟时间。
对于暂时的失败,searchd对每个代理重试至多$count次。$delay是两次重试之间延迟的时间,以毫秒为单位。默认情况下,重试是禁止的。注意,这个调用不会使API本身对暂时失败进行重试,它只是让searchd这样做。目前暂时失败包括connect()调用的各种失败和远程代理超过最大连接数(过于繁忙)的情况。
6.1.5. SetConnectTimeout (设置超时时间)
原型: function SetConnectTimeout ( $timeout )
设置连接超时时间,在与服务器连接时,如果超过这个时间没有连上就放弃。
有时候服务器在响应上会有所延迟,这有可能由于网络的延时,也有可能是因为服务器未处理完的查询太多,堆积所致。不管是什么情况,有了这个选项,就给客户端应用程序提供了一定的控制权,让它可以决定当searchd不可用的时候如何处理,而且可以避免脚本由于超过运行限制而运行失败(尤其是在PHP里)
当连接失败的而时候,会将合适的错误码返回给应用程序,以便在应用程序级别进行错误处理和通知用户。
6.1.6. SetArrayResult (设置结果返回格式)
原型: function SetArrayResult ( $arrayresult )
PHP专用。控制搜索结果集的返回格式(匹配项按数组返回还是按hash返回)
$arrayresult 参数应为布尔型。如果$arrayresult为false(默认),匹配项以PHP hash格式返回,文档ID为键,其他信息(权重、属性)为值。如果$arrayresult为true,匹配项以普通数组返回,包括匹配项的全部信息(含文档ID)
这个调用是对MVA属性引入分组支持时同时引入的。对MVA分组的结果可能包含重复的文档ID。因此需要将他们按普通数组返回,因为hash对每个文档ID仅能保存一个记录。
6.1.7. IsConnectError (检查链接错误)
原型: function IsConnectError ()
检查上一个错误是API层面的网络错误还是searchd返回的远程错误。如果是上一次连接searchd的尝试在API层面失败了,返回真,否则返回假(错误发生在远程,或者根本没有尝试连接)。 这是在版本0.9.9-rc1引入的。
6.2. 通用搜索设置
6.2.1. SetLimits (设置结果集偏移量)
原型: function SetLimits ( $offset, $limit, $max_matches=0, $cutoff=0 )
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69553.html
- 上一篇:asm / 嵌入x86汇编
- 下一篇:C#获取文件夹下面的所有文件