amark/laravelsearchengine

此软件包的最新版本(dev-master)没有可用的许可证信息。

Laravel 软件包,用于从 Google 自定义搜索引擎 API 获取 Google 自定义搜索结果。

dev-master 2022-07-08 20:13 UTC

This package is auto-updated.

Last update: 2024-09-09 00:45:10 UTC


README

1/ 使用 Composer 安装

composer require amark/laravelsearchengine

2/ 将服务提供者添加到 config/app.php

'providers' => [
    '...',
    AmarK\LaravelSearchEngine\LaravelSearchEngineProvider::class
];

创建您的自定义搜索引擎

  1. 如果您在 https://#/cse/ 创建引擎,您将在点击“设置”后找到 ID
  2. 只需检查您的 URL,例如 https://#/cse/setup/basic?cx=search_engine_id,其中 cx= 后的字符串是您的搜索引擎 ID

!! 注意 !! 如果您更改自定义搜索引擎的样式,ID 可能会更改

获取您的 API 密钥

  1. 访问 https://console.developers.google.com,然后
  2. 点击 GoogleAPI 标志右侧的菜单并点击“创建项目”
  3. 输入新项目的名称 - 由您决定,您可以使用“Google CSE”
  4. 等待项目创建完成 - 指示器是右上角围绕铃铛图标的颜色圆圈
  5. 显示 API 列表 - 搜索“Google Custom Search API”并点击它
  6. 点击自定义搜索 API 标题右侧的“启用”图标
  7. 点击左侧菜单下的“Library”部分下的“Credentials”
  8. 点击“创建凭证”并选择“API 密钥”
  9. 您的 API 密钥已显示,因此复制并粘贴它在这里

保存配置值

将搜索引擎 ID 和 api ID 保存到您的 config/laravelSearchEngine.php

用法

创建一个对象并调用 getResults 函数以获取前 10 个结果

$textresult = new LaravelSearchEngine(); // initialize
$results = $textresult->getResults('search text'); // get first 10 results for query 'search text' 
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use AmarK\LaravelSearchEngine\LaravelSearchEngine;

class GoogleSearchController extends Controller
{

  public function index(){
    $textResult = new LaravelSearchEngine(); // initialize
    $results = $textResult->getResults('search text'); // get first 10 results for query 'search text' 
  }
}
$parameters = array(
    'start' => 10 // start from the 10th results,
    'num' => 10 // number of results to get, 10 is maximum and also default value
)

$textresult = new LaravelSearchEngine(); // initialize
$results = $textresult->getResults('search text', $parameters); // get second 10 results for query 'search text'
$textResult = new LaravelSearchEngine(); // initialize
$results = $textResult->getResults('search text'); // get first 10 results for query 'search text'
$rawResults = $textResult->getRawResults(); // get complete response from Google

仅要获取结果数量,请使用

$textResult = new LaravelSearchEngine(); // initialize
$results =  $textResult->getResults('search text'); // get first 10 results for query 'search text'
$noOfResults = $textResult->getTotalNumberOfResults(); // get total number of results (it can be less than 10)

如果您有更多引擎/更多 API 密钥,可以使用以下函数覆盖配置变量

$textResult = new LaravelSearchEngine(); // initialize

$textResult->setEngineId('someEngineId'); // sets the engine ID
$textResult->setApiKey('someApiId'); // sets the API key

$results =  $textResult->getResults('search text'); // get first 10 results for query 'search text'

如果要查找仅搜索 URL、标题和描述。默认情况下仅提供 10 个结果

$textResult = new LaravelSearchEngine(); // initialize
$results =  $textResult->getResults('search text'); // get first 10 results for query 'search text'
$fewResults =  $textResult->getFewDetails(); // get first 10 results for query 'search text'