В настоящее время я пытаюсь использовать FOSElastica, и у меня возникают проблемы с конфигурацией. Я хочу использовать сериализатор с большинством своих сущностей, но я хочу указать сопоставление для конкретной сущности, как я могу это сделать?
Я пытался определить параметры «свойства», но с определенным параметром «сериализатора» он просто игнорирует его.
Я бы хотел сделать что-то подобное, но свойства table_content просто игнорируются.
fos_elastica:
serializer:
serializer: jms_serializer
clients:
default: { host: localhost, port: 9200 }
indexes:
table_content:
types:
table_content:
properties:
id: ~
persistence:
driver: orm
model: TAMAS\AstroBundle\Entity\TableContent
astonomical_object:
types:
astonomical_object:
serializer:
groups: [astonomicalobject]
serialize_null: true
persistence:
driver: orm
model: TAMAS\AstroBundle\Entity\AstronomicalObject






Итак, на самом деле FOSElastica действительно распознает тип, когда вы сопоставляете его вручную в файле конфигурации, это было плохое понимание с моей стороны. Но это все равно было утомительно, так как у меня были объекты внутри объектов внутри объектов...
Итак, через какое-то время я нашел решение своих проблем: Динамические шаблоны и Шаблоны индексов
На самом деле у меня были проблемы с тем, что ElasticSearch не распознавал некоторые типы полей (например, дату или гео_точку), поэтому я принудительно использовал их для полей с конкретными именами с помощью шаблонов.
Если вам нужен пример моей конфигурации в FOSElastica (документ здесь):
fos_elastica:
serializer:
serializer: jms_serializer
clients:
default:
host: localhost
port: 9200
index_templates: # https://www.elastic.co/guide/en/elasticsearch/reference/6.8/indices-templates.html
base_template: # this is a custom name for the index template
client: default
template: "*" # this is where you define which indices will use this template
types:
_doc: # this is where you define which types will use this (_doc stands for every type/documents)
dynamic_templates: # https://www.elastic.co/guide/en/elasticsearch/reference/6.8/dynamic-templates.html
dynamic_date_template: # this is a custom name for the dynamic field template
match_pattern: regex
match: created|updated|tpq_date|taq_date
mapping:
type: date
dynamic_location_template:
match: location
mapping:
type: geo_point