private function getWeightedFields(ContainerConfigurationInterface $containerConfig, $analyzer = FieldInterface::ANALYZER_STANDARD, $filterCallback = null, $defaultField = null, $boost = 1)
{
$weightedFields = [];
if ($defaultField !== null) {
if ($analyzer != FieldInterface::ANALYZER_STANDARD) {
$defaultField = sprintf("%s.%s", $defaultField, $analyzer);
}
$weightedFields[$defaultField] = 1;
}
$fields = $containerConfig->getMapping()->getFields();
if ($filterCallback) {
$fields = array_filter($fields, $filterCallback);
}
foreach ($fields as $field) {
$mappingProperty = $field->getMappingProperty($analyzer);
if ($mappingProperty && ($defaultField === null || $field->getSearchWeight() != 1)) {
$weightedFields[$mappingProperty] = $field->getSearchWeight() * $boost;
}
}
return $weightedFields;
}