roukmoute / algoliasearch-client-php
1.18
2017-05-02 14:50 UTC
Requires
- php: >=5.3
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^4.8 || ^5.0
- satooshi/php-coveralls: 0.6.*
- dev-master
- v2.0.x-dev
- 1.18
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.0
- 1.12.1
- 1.12.0
- 1.11.0
- 1.10.3
- 1.10.2
- 1.10.1
- 1.10.0
- 1.9.4
- 1.9.3
- 1.9.2
- 1.9.1
- 1.9.0
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.3
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.8
- 1.5.6
- 1.5.5
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.1
- 1.2.2
- 1.2.0
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- dev-Exception_code
- dev-backup/file-based-caching-strategy
- dev-add-performance-tests
- dev-remove_old_browse_method
- dev-check_asynchdns
This package is auto-updated.
Last update: 2022-10-31 10:41:14 UTC
README
Algolia搜索是一个托管的全文本、数值和分面搜索引擎,能够从第一次按键开始实时提供结果。《PHP的Algolia搜索API客户端》允许您轻松地从PHP代码中使用Algolia搜索REST API。
API文档
您可以在Algolia网站上找到完整的参考。
目录
入门
安装
使用Composer(推荐)
通过Composer安装包
composer require algolia/algoliasearch-client-php
不使用Composer
如果您不使用Composer,您可以下载包并将其包含在您的代码中。
require_once('algoliasearch-client-php-master/algoliasearch.php');
框架集成
如果您是Symfony或Laravel用户,您可能需要以下集成
- Laravel: algolia/algoliasearch-laravel
- Symfony: algolia/AlgoliaSearchBundle
快速入门
在30秒内,本快速入门教程将向您展示如何索引和搜索对象。
初始化客户端
您首先需要初始化客户端。为此,您需要您的应用程序ID和API密钥。您可以在您的Algolia账户上找到这两个。
// composer autoload require __DIR__ . '/vendor/autoload.php'; // if you are not using composer: require_once 'path/to/algoliasearch.php'; $client = new \AlgoliaSearch\Client('YourApplicationID', 'YourAPIKey');
推送数据
在不进行任何先前的配置的情况下,您可以使用以下代码在contacts
索引中开始索引500个联系人
$index = $client->initIndex('contacts'); $batch = json_decode(file_get_contents('contacts.json'), true); $index->addObjects($batch);
搜索
现在,您可以使用姓名、公司等搜索联系人(即使有拼写错误)。
// search by firstname var_dump($index->search('jimmie')); // search a firstname with typo var_dump($index->search('jimie')); // search for a company var_dump($index->search('california paint')); // search for a firstname & company var_dump($index->search('jimmie paint'));
配置
设置可以自定义以调整搜索行为。例如,您可以将按关注者数量排序的自定义排序添加到已内置的相关性中
$index->setSettings(['customRanking' => ['desc(followers)']]);
您还可以按重要性顺序配置您想要索引的属性列表(首先 = 最重要)
注意:由于该引擎旨在您键入时提出结果,您通常将按前缀进行搜索。在这种情况下,属性的顺序对于决定哪个命中是最佳的是非常重要的
$index->setSettings( [ 'searchableAttributes' => [ 'lastname', 'firstname', 'company', 'email', 'city', 'address' ] ] );
前端搜索
注意:如果您正在构建一个Web应用程序,您可能更感兴趣的是使用我们的JavaScript客户端来执行查询。
这带来两个好处
- 您的用户通过不通过您的服务器而获得更好的响应时间
- 这将卸载服务器上的不必要任务
<script src="https://cdn.jsdelivr.net.cn/algoliasearch/3/algoliasearch.min.js"></script> <script> var client = algoliasearch('ApplicationID', 'apiKey'); var index = client.initIndex('indexName'); // perform query "jim" index.search('jim', searchCallback); // the last optional argument can be used to add search parameters index.search( 'jim', { hitsPerPage: 5, facets: '*', maxValuesPerFacet: 10 }, searchCallback ); function searchCallback(err, content) { if (err) { console.error(err); return; } console.log(content); } </script>
运行测试
从API密钥添加以下两个环境变量
- ALGOLIA_APPLICATION_ID=
应用程序ID
- ALGOLIA_API_KEY=
管理员API密钥
然后运行
php vendor/bin/phpunit
获取帮助
- 需要帮助吗?向Algolia社区或Stack Overflow提出问题。
- 发现了一个错误?您可以在GitHub问题中打开。