所以我使用 PHP Symfony 和 Ongr-Elasticsearch 包来查询我的文档并返回匹配的对象。结果似乎按相关性/分数排序,但实际相关性/分数不包含在对象本身中。
这可能吗?我想将分数包含在我发送到前端的内容中,以便能够对其进行处理。
代码:
$search = $this->esRepository->createSearch();
$search->setSize(30);
$queryFields = array(....);
$queryStringQuery = new QueryStringQuery($queryString, ["fields" => $queryFields]);
$search->addQuery($queryStringQuery);
$esResults = $this->esRepository->execute($search, Repository::RESULTS_ARRAY);
最佳答案
当您使用 Repository::RESULTS_ARRAY
执行查询时,它只会从命中返回 _source。您要使用的是 Repository::RESULTS_RAW_ITERATOR
Ant ,它将返回包括 _score 在内的整个命中。
关于PHP 和 Elasticsearch 在返回的对象中包含分数/相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31138165/