getTokenTerms example



    /** * @dataProvider caseWithFetchingTokenTerms * * @param list<list<string>> $expected */
    public function testMatchingTokenTerms(string $term, array $expected): void
    {
        $context = Context::createDefaultContext();

        $tokenTerms = $this->interpreter->interpret($term$context)->getTokenTerms();

        static::assertEquals(\count($expected), \count($tokenTerms));
        foreach ($tokenTerms as $index => $tokenTerm) {
            sort($expected[$index]);
            sort($tokenTerm);

            static::assertEquals($expected[$index]$tokenTerm);
        }
    }

    /** * @dataProvider caseWithMatchingBooleanCause */


        if ($pattern->getBooleanClause() !== SearchPattern::BOOLEAN_CLAUSE_AND) {
            $criteria->addFilter(new AndFilter([
                new EqualsAnyFilter('product.searchKeywords.keyword', array_values($pattern->getAllTerms())),
                new EqualsFilter('product.searchKeywords.languageId', $context->getContext()->getLanguageId()),
            ]));

            return;
        }

        foreach ($pattern->getTokenTerms() as $terms) {
            $criteria->addFilter(new AndFilter([
                new EqualsFilter('product.searchKeywords.languageId', $context->getContext()->getLanguageId()),
                new EqualsAnyFilter('product.searchKeywords.keyword', $terms),
            ]));
        }
    }
}
Home | Imprint | This part of the site doesn't use cookies.