我有一个问题,我无法解决它,我已经尝试过在网上找到的每一个东西。
所以,我在Symphony中相当新,到目前为止我没有遇到任何问题,直到我需要实现一个搜索引擎。我看了一眼,发现Elastico是一个非常好的选择,我决定实施它。
我使用composer安装它,没问题。对于最基本的搜索,我的配置如下所示:
fos_elastica:
clients:
default: { host: localhost, port: 80 }
indexes:
search:
client: default
types:
story:
mappings:
name: ~
persistence:
driver: orm
model: Website\WebBundle\Entity\Story
provider: ~
listener: ~
finder: ~
使用php app/console fos:elastica:populate
生成数据时没有任何问题。结果是corectly插入(匹配数字或条目与数据库条目)。
所以,我的问题是无法显示任何结果。我总是将空数组作为结果:
$finder = $this->container->get('fos_elastica.finder.search.story');
$results = $finder->find('name');
也是空的结果:
$repositoryManager = $this->container->get('fos_elastica.manager');
$repository = $repositoryManager->getRepository('WebsiteWebBundle:Story');
$results = $repository->find('name');
我在数据库中有一个名为'name'的记录,所以我应该得到结果。搜索信件也不起作用。
那么,任何人都可以告诉我我做错了什么吗?或者有没有办法显示所有结果,所以我可以看到结果存在,只有搜索失败?
由于
答案 0 :(得分:0)
你错过了你的映射配置。
您必须指定要编入索引的类故事的属性 即:
mappings:
id:
type: integer