微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – FosElasticaBundle:一个索引中有多个类型

我需要构建一个多实体搜索.

我不希望每一个T1,然后每个T2.

当我使用fos:lastica:populate时,我收到一个错误

Rejecting mapping update to [search_dev] as the final mapping would have more than 1 type: [t1, t2]

我的映射:

fos_elastica:
   clients:
       default:
           host: %elastic_host%
           port: %elastic_port%
   indexes:
       search:
           finder: ~
           client: default
           index_name: search_%kernel.environment%
           types:
               t1:
                   indexable_callback: 'getEnabled'
                   properties:
                       id:
                          type: integer
                       name: ~
                   persistence:
                       driver: orm
                       model: AppBundle\Entity\T1
                       finder: ~
                       listener:
                          logger: true
                       elastica_to_model_transformer:
                          ignore_missing: true
               t2:
                   indexable_callback: 'getEnabled'
                   properties:
                       id:
                          type: integer
                       name: ~
                   persistence:
                       driver: orm
                       model: AppBundle\Entity\T2
                       finder: ~
                       listener:
                          logger: true
                       elastica_to_model_transformer:
                          ignore_missing: true

我的服务:

$search = $this->indexManager->getIndex('search')->createSearch();
$search->addType('t1');
$search->addType('t2');
$resultSet = $search->search($query);

$results = $this->modelTransformer->transform($resultSet->getResults());

我错过了什么?我可以在1个索引中映射2种类型吗?

解决方法:

这与Elastica无关,但Elasticsearch 6.0:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html.

我有同样的问题,并没有找到一种简单的方法来在一个索引中映射多个学说模型.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐