Symfony 根据字段内容从弹性搜索中排除结果
我使用FOQElasticaBundle将弹性搜索集成到我的Symfony2项目中。我有一个名为Symfony 根据字段内容从弹性搜索中排除结果,symfony,elasticsearch,Symfony,elasticsearch,我使用FOQElasticaBundle将弹性搜索集成到我的Symfony2项目中。我有一个名为Recipe的实体,该实体具有属性$draft,表示配方尚未完成。我想从弹性搜索结果中排除属性为$draft=1的配方 这是我的foq_elastica配置的一部分: ... types: chef: mappings: surname: {boost: 5} name: {boost: 4} nbLike
Recipe
的实体,该实体具有属性$draft
,表示配方尚未完成。我想从弹性搜索结果中排除属性为$draft=1
的配方
这是我的foq_elastica配置的一部分:
...
types:
chef:
mappings:
surname: {boost: 5}
name: {boost: 4}
nbLikes: { index: not_analyzed }
nbFollowers: { index: not_analyzed }
persistence:
driver: orm
model: Interacso\ApiBundle\Entity\Chef
identifier: id
provider: ~
finder: ~
listener: ~
recipe:
mappings:
name: {boost: 100}
chefName: {boost: 10}
chefSurname: {boost: 10}
bookNames: {boost: 5}
ingredientNames: {boost: 2}
tagNames: {boost: 2}
persistence:
driver: orm
model: Interacso\ApiBundle\Entity\Recipe
identifier: id
provider: ~
finder: ~
listener: ~
....
有什么建议吗?好的,我自己找到了答案,如果有人有同样的问题,则响应是在配置文件中指定查询生成器:
recipe:
mappings:
name: {boost: 100}
chefName: {boost: 10}
chefSurname: {boost: 10}
bookNames: {boost: 5}
ingredientNames: {boost: 2}
tagNames: {boost: 2}
persistence:
driver: orm
model: Interacso\ApiBundle\Entity\Recipe
identifier: id
provider:
query_builder_method: buildIfIsNotDraft
finder: ~
listener: ~
并在返回条令查询生成器的存储库中实现指定的方法。捆绑包官方文档中的更多信息: