gpupo / search
此包已被放弃,不再维护。未建议替代包。
基于官方 Sphinx searchd 客户端的 PHP Sphinx 分面搜索,结果基于面向对象
1.1.1
2015-08-05 20:46 UTC
Requires
- php: >=5.4
- gpupo/common: ~1.4
- psr/log: ~1.0
- zendframework/zend-filter: 2.*
- zendframework/zend-validator: 2.*
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: ~4.0
Suggests
- monolog/monolog: Write Log messages
This package is auto-updated.
Last update: 2019-02-20 20:01:01 UTC
README
搜索
基于官方 Sphinx searchd 客户端的 PHP Sphinx 分面搜索,结果基于面向对象
简单查询用法
<?php use Gpupo\Search\Search; use Gpupo\Search\Query\Keywords; use Gpupo\Search\Query\Query; $keywords = new Keywords; $keywords->addKeyword('magic'); $keywords->addKeyword('unicorn'); $query = new Query($keywords); $query->setIndex('fantasyIndex'); //Configure Sphinx Server Parameters: SphinxService::getInstance()->setParameters(array( 'host' => 'foo.bar.com', //default value is localhost )); $results = Search::getInstance()->findByQuery($query); $results->getTotal(); // Itens found
安装
推荐的安装方式是通过composer。
composer require gpupo/search
开发
通过composer安装
composer install;
复制phpunit
配置文件
cp phpunit.xml.dist phpunit.xml;
在phpunit.xml
中自定义 Sphinx 搜索服务器参数
<php> <const name="SPHINX_HOST" value="localhost"/> <const name="SPHINX_PORT" value="9313"/> <const name="SPHINX_TIMEOUT" value="5"/> </php>
要本地运行测试套件
$ phpunit
或查看 testdox 输出
$ phpunit --testdox
测试结果
Gpupo\Tests\Search\FacetedSearch
- 多查询
- 分组
- 简化多查询分组
- 多查询和分组
Gpupo\Tests\Search\Paginator\Paginator
- 结果具有用于分页的对象模型
- 处理结果集合
- 标记当前页
- 操纵查询的偏移量
- 操纵查询的限制
- 根据限制将结果分成页面
- 访问近似页面范围
- 允许自定义页面范围以进行导航
- 访问分页值
Gpupo\Tests\Search\Query\Filters
- 根据键的值列表过滤
- 根据键的值范围过滤
- 向现有的值过滤器添加一个值
Gpupo\Tests\Search\Query\Keywords
- 从字符串处理关键词
- 使用有效关键词成功
- 验证空或小于允许大小的关键词字符串
- 使用短语搜索成功
Gpupo\Tests\Search\Query\Query
- 将关键词模型化为对象
- 从模型化查询进行搜索
- 查询具有模型化和受控的属性
- 接收结果限制的输入
- 接收结果的偏移量输入
- 验证结果偏移量输入
- 验证结果限制输入
- 允许在多个索引中进行搜索
- 验证多个索引的输入
- 具有模型化的过滤器
- 接收过滤器输入
- 验证过滤器输入
- 支持基于一个属性的分面搜索
- 支持基于多个属性的分面搜索
- 避免属性重复计数
Gpupo\Tests\Search\Result\Collection
- 具有处理属性的结果
Gpupo\Tests\Search
- 包含对象模型的结果
- 搜索简单关键词
- 具有结果数量限制
- 结果具有属性
- 搜索多个关键词
- 搜索关键词的部分
- 搜索乱序关键词
- 访问可用的结果数量
- 访问每个关键词的可用的结果数量
- 访问对象模型化的结果
- 支持多查询
Gpupo\Tests\Search\Sphinx\SphinxService
- 允许访问默认参数
- 允许定义自定义参数
- 提供客户端访问
- 具有重置的单例客户端访问
待办事项
- 将最初用巴西葡萄牙语编写的项目翻译为简体中文;
- 为
Travis
测试查找一个可用的 Sphinx Search 公共服务器(参见Stack Overflow 问题)
更新 sphinxapi PHP
查看 Sphinxsearch 仓库 的公开只读镜像
当前稳定和经过测试的版本:2.1
更新命令
RELEASE='21'; lynx --dump --source https://sphinxsearch.googlecode.com/svn/branches/rel${RELEASE}/api/sphinxapi.php > src//Sphinx/sphinxapi.php
许可协议
MIT,见 LICENSE 文件。
链接
- 在 packagist.org 上搜索 Search Composer 包
- Sphinx 中分面(Faceting)的含义是什么.
- 搜索模式 - 地图制作者宣言,作者:Peter Moreville 和 Jeffrey Callender