alexschwarz89 / easy-mysqli-fulltext
一个易于使用的库,用于执行排名优先的 MYSQLi 全文搜索
2.0.0
2018-09-21 11:18 UTC
Requires
- php: >=7.1
- ext-mysqli: *
- aura/sqlquery: 2.7.1
- vlucas/phpdotenv: ^2.0
This package is not auto-updated.
Last update: 2024-09-14 17:00:53 UTC
README
一个易于使用的库,用于使用 MYSQLi 执行排名优先的全文搜索。
安装
通过 composer 安装
{ "require": { "alexschwarz89/EasyMysqliFulltext": "2.0.0" } }
运行 composer install
。
入门指南
您可以在 examples/index.php 文件中找到一个示例文件,用于与提供的 testdata.sql 测试数据一起使用。
在现有的 MYSQLi 连接上设置搜索
use \Alexschwarz89\EasyMysqliFulltext\Search; $search = new Search( $mysqliInstance );
在我们的测试数据中简单搜索 "example"
$query = new SearchQuery($search); $query->setTable('testdata') ->setSearchFields('description') ->mustInclude('example'); $search->setSearchQuery( $query ); try { $search->execute(); } catch (EmptySearchTermException $e) { // Handle invalid search terms }
您还可以
在不使用现有 MYSQLi 连接的情况下使用搜索
$search = Search::createWithMYSQLi('localhost', 'username', 'password', 'dbname');
您也可以通过环境变量 (.env) 传递连接变量,然后只需使用
$search = Search::createWithMYSQLi();
根目录中保存的 .env 文件
DATABASE_HOST=localhost
DATABASE_USERNAME=username
DATABASE_PASSWORD=password
DATABASE_NAME=database_name
构建更复杂的搜索查询
$query->setTable('testdata') ->setSearchFields('description,title,isbn,author') ->mustInclude('example') ->canInclude('another') ->exclude('again') ->preferWithout('this') ->orderBy('some_field', 'ASC');
贡献当然是被允许的!:-)