Smile\ElasticsuiteCore\Search\Request\Query\Fulltext\QueryBuilder::getWeightedFields PHP Метод

getWeightedFields() приватный Метод

Build an array of weighted fields to be searched with the ability to apply a filter callback method and a default field.
private getWeightedFields ( Smile\ElasticsuiteCore\Api\Search\Request\ContainerConfigurationInterface $containerConfig, string $analyzer = FieldInterface::ANALYZER_STANDARD, callable $filterCallback = null, string | null $defaultField = null, integer $boost = 1 ) : array
$containerConfig Smile\ElasticsuiteCore\Api\Search\Request\ContainerConfigurationInterface Search request container config.
$analyzer string Target analyzer.
$filterCallback callable Field filter callback.
$defaultField string | null Default search field.
$boost integer Additional boost applied to the fields (multiplicative).
Результат array
    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;
    }