/**
* Phonentic query part.
*
* @param ContainerConfigurationInterface $containerConfig Search request container configuration.
* @param string $queryText The text query.
*
* @return QueryInterface
*/
private function getPhoneticQuery(ContainerConfigurationInterface $containerConfig, $queryText)
{
$relevanceConfig = $containerConfig->getRelevanceConfig();
$analyzer = FieldInterface::ANALYZER_PHONETIC;
$defaultSearchField = MappingInterface::DEFAULT_SPELLING_FIELD;
$fuzzyFieldCallback = [$this, 'isFuzzyFieldCallback'];
$searchFields = $this->getWeightedFields($containerConfig, $analyzer, $fuzzyFieldCallback, $defaultSearchField);
$queryParams = ['fields' => $searchFields, 'queryText' => $queryText, 'minimumShouldMatch' => "100%", 'tieBreaker' => $relevanceConfig->getTieBreaker(), 'cutoffFrequency' => $relevanceConfig->getCutoffFrequency()];
if ($relevanceConfig->getPhoneticConfiguration()->isFuzzinessEnabled()) {
$queryParams['fuzzinessConfig'] = $relevanceConfig->getPhoneticConfiguration()->getFuzzinessConfiguration();
}
return $this->queryFactory->create(QueryInterface::TYPE_MULTIMATCH, $queryParams);
}