Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 根据字段内容从弹性搜索中排除结果_Symfony_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Symfony,elasticsearch" /> elasticsearch,Symfony,elasticsearch" />

Symfony 根据字段内容从弹性搜索中排除结果

Symfony 根据字段内容从弹性搜索中排除结果,symfony,elasticsearch,Symfony,elasticsearch,我使用FOQElasticaBundle将弹性搜索集成到我的Symfony2项目中。我有一个名为Recipe的实体,该实体具有属性$draft,表示配方尚未完成。我想从弹性搜索结果中排除属性为$draft=1的配方 这是我的foq_elastica配置的一部分: ... types: chef: mappings: surname: {boost: 5} name: {boost: 4} nbLike

我使用FOQElasticaBundle将弹性搜索集成到我的Symfony2项目中。我有一个名为
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: ~
并在返回条令查询生成器的存储库中实现指定的方法。捆绑包官方文档中的更多信息: