1

我在 Symfony2 上安装了 FOSElasticaBundle 以在 elasticsearch 上查找数据。我按照说明进行操作,但出现错误,我不知道如何处理。错误如下:

注意:未定义索引:bluecoat-syslog

500 内部服务器错误 - ContextErrorException

堆栈跟踪

in vendor/friendsofsymfony/elastica-bundle/Transformer/ElasticaToModelTransformerCollection.php at line 56   -
    $transformed = array();
    foreach ($sorted as $type => $objects) {
*       $transformedObjects = $this->transformers[$type]->transform($objects);
        $identifierGetter = 'get'.ucfirst($this->transformers[$type]->getIdentifierField());
        $transformed[$type] = array_combine(
            array_map(

我的控制器

public function reportAction(Request $request)
{
    $finder = $this->container->get('fos_elastica.finder.log');

    $results = $finder->find('ERROR');

    $parameters = array("results" => $results);

    return $this->render('MyBundle:Core:report.html.twig', $parameters);
}

我的 config.yml

fos_elastica:
    clients:
        default: { host: localhost, port: 9200 }
    indexes:
        log:
            client: default
            index_name: log-2015.04.20
            finder: ~
            types:
                bluecoat-syslog:
                    mappings:
                        message: ~

捆绑包的版本是:

FOSElasticaBundle 3.1.x

问候和感谢!

4

1 回答 1

1
  1. 更改索引的名称-

  2. 不要忘记使用以下命令创建索引 php app/console fos:elastica:populate

于 2016-03-03T09:51:45.313 回答