isCustomField example

return $config;
            }
        }

        throw ElasticsearchProductException::configNotFound();
    }

    private function buildTokenQuery(BoolQuery $tokenBool, string $token, SearchFieldConfig $config, ?string $root = null): void
    {
        $queries = [];

        $searchField = $config->isCustomField() ? $config->getField() : $config->getField() . '.search';

        $queries[] = new MatchQuery($searchField$token['boost' => 5 * $config->getRanking()]);
        $queries[] = new MatchPhrasePrefixQuery($searchField$token['boost' => $config->getRanking(), 'slop' => 5]);
        $queries[] = new WildcardQuery($searchField, '*' . $token . '*');

        if ($config->tokenize()) {
            $ngramField = $config->isCustomField() ? $config->getField() : $config->getField() . '.ngram';
            $queries[] = new MatchQuery($searchField$token['fuzziness' => 'auto', 'boost' => 3 * $config->getRanking()]);
            $queries[] = new MatchQuery($ngramField$token);
        }

        

class SearchFieldConfigTest extends TestCase
{
    public function testInit(): void
    {
        $searchConfig = new SearchFieldConfig('fooField', 1000, true);

        static::assertSame('fooField', $searchConfig->getField());
        static::assertSame(1000, $searchConfig->getRanking());
        static::assertTrue($searchConfig->tokenize());
        static::assertFalse($searchConfig->isCustomField());

        $customFieldSearchConfig = new SearchFieldConfig('customFields.foo', 1000, true);

        static::assertTrue($customFieldSearchConfig->isCustomField());
    }
}
Home | Imprint | This part of the site doesn't use cookies.