symfony - Foselasticabundle : method returns empty results

标签 symfony elasticsearch foselasticabundle

我使用 Elasticsearch 和 Foselasticabundle 在我的 Symfony 应用程序中进行搜索,但它返回空结果。 这是我的配置和搜索方法:

foselasticbunde.yml:

  indexes:
       search:
           finder: ~
           client: default
           types:
               course:
                   mappings:
                       id: ~
                       title: ~

                   persistence:
                       driver: orm
                       model: AppBundle\Entity\Course
                       finder: ~
                       provider: ~
                       listener: ~

SearchController.php

 public function elasticSearchAction(Request $request)
    {
        $query = $request->get('q');
        $finder = $this->container->get('fos_elastica.finder.search.course');
        $results = $finder->find($query);
        return new JsonResponse($results);
    }

但它返回空结果:

[{},{},{},{},{},{},{},{},{},{}]

问题是什么?如何解决?

最佳答案

结果是一个对象数组,我更改了代码:

public function elaSearchAction(Request $request)
{
    $query = $request->get('q');

    $finder = $this->container->get('fos_elastica.finder.search.course');
    $results = $finder->find($query);

    $data = array();
    foreach ($results as $course){
        $data[] = array(
            'id' => $course->getId(),
            'title' => $course->getTitle(),
            'description' => $course->getDescription(),
        );
    }

    return new JsonResponse($data);
}

关于symfony - Foselasticabundle : method returns empty results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51822343/

相关文章:

php - 如何在Elasticsearch中调整相关性

php - Symfony2 映射适用于一个实体,但不适用于另一个实体

elasticsearch - 弹性云Circuit_break_exception

json - 使用正则表达式与JSON进行过滤

node.js - Logstash 与 Nodejs 应用程序的任务队列

php - 在Symfony2中使用FOSElasticaBundle进行的任何搜索都为空数组

php - 填充 FosElasticaBundle 时 php 内存不足,可能存在内存泄漏?

forms - Symfony 表格 : "Array to string conversion" exception in modified DateType class

validation - 有没有办法在 Symfony 中验证 ISO8601 日期?

mysql - 我可以使用MySQL建立Symfony2 ORM继承关系吗?