首页 >后端开发 >php教程 >使用Solarium与Solr进行搜索 - 日光浴和GUI

使用Solarium与Solr进行搜索 - 日光浴和GUI

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原创
2025-02-21 09:49:08228浏览

Using Solarium with SOLR for Search - Solarium and GUI

本文是四部分系列中的第二篇,详细使用了与Apache Solr一起搜索功能的Solarium。 第一部分涵盖了核心概念,安装和设置。本部分着重于日光浴室安装,构建示例应用程序,填充搜索索引以及准备搜索查询。

密钥概念:

    Solarium 连接日光浴室需要提供Solr服务器的主机,端口和路径详细信息。 日光浴使用更新查询实例简化了添加,更新和删除文档。 更新通过具有相同唯一标识符的“重新添加”文档来处理。
  • 本指南将介绍应用程序创建,日光浴室配置,ping查询,示例数据添加和搜索索引群体。 它还显示了使用Laravel的刀片模板创建搜索表格。
  • >
  • 应用程序创建和日光浴室安装:
  • >
创建一个新的Laravel应用程序:

制作

>目录可写。通过作曲家安装日光浴室:

<code class="language-bash">composer create-project laravel/laravel movie-search --prefer-dist</code>
(或者,从github下载或克隆。)将其添加到您的

>文件中。 app/storage

太阳式配置:
<code class="language-json">"solarium/solarium": "dev-develop"</code>

创建一个配置文件(composer.json):

>

为简单起见,将Solarium Client实例创建为控制器属性():

>

app/config/solr.php(在较大的Laravel应用中,服务提供商将是首选。)>

<code class="language-php">return array(
    'host'      => '127.0.0.1',
    'port'      => 8983,
    'path'      => '/solr/',
);</code>
ping查询和示例数据:

> app/controllers/HomeController.php使用ping查询来验证solr可访问性:

<code class="language-php">    protected $client;

    public function __construct()
    {
        $this->client = new \Solarium\Client(Config::get('solr'));
    }</code>

>需要一个示例电影CSV文件(包含〜2000电影)。 您可以下载一个,也可以使用腐烂的西红柿API(IMDB数据也可用,但不方便)。

> 在

添加文档:

更新需要使用相同ID重新添加。 删除使用

<code class="language-php">$ping = $client->createPing();
try {
    $result = $client->ping($ping);
} catch (Solarium\Exception $e) {
    // Handle SOLR inaccessibility
}</code>

>填充搜索索引:

> 创建一个laravel命令(

)以导入CSV数据。 在

>中,使用

方法读取CSV,创建日光浴室文档并索引它们。 (提供的代码示例显示了此过程。
<code class="language-php">$update = $client->createUpdate();
$doc = $update->createDocument();
$doc->id = 123;
$doc->title = 'Some Movie';
$update->addDocument($doc);
$update->addCommit();
$result = $client->update($update);</code>
>

搜索表格(Laravel Blade):addDeleteQuery>

<code class="language-php">$update = $client->createUpdate();
$update->addDeleteQuery('id:123'); // Or use wildcards: 'title:test*'
$update->addCommit();
$result = $client->update($update);</code>
中创建搜索表格:

<code class="language-bash">composer create-project laravel/laravel movie-search --prefer-dist</code>

(如原始示例所示,还需要app/views/layouts/default.blade.php中的基本布局和app/routes.php中的路由。)

>)

结论:

>本文设定了使用Solarium和Solr构建搜索机构的阶段。下一部分将涵盖实施实际搜索功能。 鉴于已经提供了详细说明,因此提供的常见问题解答已被省略。

以上是使用Solarium与Solr进行搜索 - 日光浴和GUI的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn