【发布时间】:2017-11-19 16:31:01
【问题描述】:
我需要构建一个多实体搜索。
我不想要每个 T1,然后是每个 T2。
当我使用fos:lastica:populate 时,我得到一个错误:
拒绝对 [search_dev] 的映射更新,因为最终映射将有超过 1 种类型:[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 种类型吗?
【问题讨论】:
标签: php symfony foselasticabundle