You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maybe I'm doing sth wrong :), but ...
When using Finder, I can't get suggestions from results.
This line of code is getting specifically only results, not suggestions: https://github.com/FriendsOfSymfony/FOSElasticaBundle/blob/master/src/Finder/TransformedFinder.php#L117
There should a way to call getSuggests() a way more easily ...
There is some of my code below. Plain query works great when calling ES directly
`
public function __construct(
private readonly TransformedFinder $finder,
) {
}
protected function getAnalyzer(): string
{
return 'simple';
}
protected function getFields(): array
{
return [
'productLanguages.name^2',
'productLanguages.subtitle^3',
'productLanguages.descriptionPlainText'
];
}
protected function getNestedPath(): string
{
return 'productLanguages';
}
protected function getCompletionField(): string
{
return 'productLanguages.nameComplete';
}
/**
* @return array{results: array<Item|Result>, suggestions: array<object>}
*/
public function filterBySingleString(string $searchValue, bool $rawResult = false): array
{
$boolQuery = new BoolQuery();
$multiMatch = new MultiMatch();
$multiMatch->setQuery($searchValue);
$multiMatch->setFields($this->getFields());
$multiMatch->setType('best_fields');
$multiMatch->setFuzziness('AUTO');
if (!empty($this->getAnalyzer())) {
$multiMatch->setParam('analyzer', $this->getAnalyzer());
}
$nestedQuery = new Nested();
$nestedQuery->setPath($this->getNestedPath());
$nestedQuery->setQuery($multiMatch);
$boolQuery->addShould($nestedQuery);
$boolQuery->setMinimumShouldMatch(1);
$completion = new Suggest\Completion('name_suggest', $this->getCompletionField());
$completion->setPrefix($searchValue);
$completion->setFuzzy([
'fuzziness' => 'AUTO'
]);
$completion->setSize(5);
$suggest = new Suggest($completion);
if ($rawResult) {
return [
'results' => $this->finder->findRaw($boolQuery),
'suggestions' => $this->finder->findRaw($suggest)
];
}
return [
'results' => $this->finder->find($boolQuery),
'suggestions' => $this->finder->find($suggest)
];
}`
suggestions array is always empty
The text was updated successfully, but these errors were encountered:
Maybe I'm doing sth wrong :), but ...
When using Finder, I can't get suggestions from results.
This line of code is getting specifically only results, not suggestions: https://github.com/FriendsOfSymfony/FOSElasticaBundle/blob/master/src/Finder/TransformedFinder.php#L117
There should a way to call getSuggests() a way more easily ...
There is some of my code below. Plain query works great when calling ES directly
`
public function __construct(
private readonly TransformedFinder $finder,
) {
}
suggestions array is always empty
The text was updated successfully, but these errors were encountered: