例如
我的实体具有以下字段:
id(int)
标题(文本)(也以 flex 方式存储)
内容(文本)(也以 flex 方式存储)
categoryId(int)
状态(int)
我想从标题,内容中搜索文字
//RepositoryManagerInterface $finder
$results = $finder->getRepository(Offer::class)->find('AUDI A6 C6 2.0');
当我想按categoryId在数据库示例中搜索时
$offers = $this->getDoctrine()->getRepository(Offer::class)->customOfferQueryBuilderWithResult(['categoryId'=>5]);
如何一起搜索?
我是否还必须将categoryId存储在 flex 中?
最佳答案
试试这个:
//Repository method
/**
* @param int $id
* @return Query
*/
public function getByOfferId(int $id): Query
{
$terms = new Terms('categoryId', [$id]);
$boolQuery = (new BoolQuery())->addMust($terms);
return (new Query())->setQuery($boolQuery);
}
关于symfony - 带有FosElastic的Symfony主义如何从ORM和Elastic一起搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60397822/