weburnit/elasticsearch-bundle

Symfony的Elasticsearch包。

安装: 46

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 189

类型:symfony-bundle


README

为了满足对专业级Elasticsearch与企业级Symfony应用集成的需求,创建了Elasticsearch Bundle。此包

技术亮点

  • 通过CLI(ongr:es:document:generate)提供交互式文档对象生成器
  • 提供DSL查询构建器,由类型仓库服务执行
  • 使用类似Doctrine的文档(实体)对象映射,使用注解
  • 提供查询结果迭代器,方便使用
  • 提供控制台CLI命令,用于索引和类型管理以及数据导入/导出
  • Profiler集成在Symfony调试栏中,显示所有执行的查询
  • 设计成可扩展的,满足您的所有定制需求

如果您需要任何帮助,stack overflow是询问关于ONGR包和库的首选和推荐方式。

Build Status Coverage Status Latest Stable Version Total Downloads Scrutinizer Code Quality

版本矩阵

文档

该包的在线文档可以在http://docs.ongr.io找到。文档源存储在repo中的Resources/doc/下,如果发现错别字或问题,请提交PR进行修复!

有关对文档的贡献,可以在contribute主题中找到。

常见问题解答

设置包

步骤1:安装Elasticsearch包

使用Composer安装Elasticsearch包。

php composer.phar require ongr/elasticsearch-bundle "~5.0"

有关安装和部署Elasticsearch的说明,请参阅Elasticsearch安装页面

在AppKernel中启用Elasticsearch包

// app/AppKernel.php

public function registerBundles()
{
    $bundles = [
        // ...
        new ONGR\ElasticsearchBundle\ONGRElasticsearchBundle(),
    ];
    
    // ...
}

步骤2:添加配置

添加Elasticsearch包的最小配置。

# app/config/config.yml

ongr_elasticsearch:
    managers:
        default:
            index:
                index_name: acme
            mappings:
                - AppBundle

这是一个非常基本的例子,更多信息请参阅配置章节。

在此特定示例中,您应该了解两个问题。索引节点中的索引名称和映射。映射是存储您的文档的地方(更多信息请参阅映射章节)。

步骤3:将您的Elasticsearch类型定义为Document对象

此包使用对象来表示Elasticsearch文档。让我们为顾客文档创建一个Customer类。

// src/AppBundle/Document/Customer.php

namespace AppBundle\Document;

use ONGR\ElasticsearchBundle\Annotation as ES;

/**
 * @ES\Document()
 */
class Customer
{
    /**
     * @var string
     *
     * @ES\Id()
     */
    public $id;

    /**
     * @var string
     *
     * @ES\Property(name="name", type="string")
     */
    public $name;
}

这是一个基本的示例,有关映射的更多信息,请参阅映射章节

步骤 4:创建索引和映射

Elasticsearch 包提供了一些 CLI 命令。其中之一是用于创建索引,请在您的终端运行以下命令

bin/console ongr:es:index:create

有关其他命令的更多信息,请参阅命令章节

步骤 5:享受 Elasticsearch 的乐趣

我们建议您查看映射章节以配置索引。Elasticsearch 包的搜索文档可在此处找到。最后,您将决定要创建哪些令人惊叹的事物 😎。

故障排除

许可证

此包遵循 MIT 许可证。请参阅包中的完整许可证文件 LICENSE