首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于字段内容的弹性搜索结果排除在外

基于字段内容的弹性搜索结果排除在外
EN

Stack Overflow用户
提问于 2013-10-09 14:33:31
回答 1查看 536关注 0票数 0

我使用FOQElasticaBundle将弹性搜索集成到我的Symfony2项目中。我有一个名为Recipe的实体,这个实体具有$draft属性,它指示配方尚未完成。我想从弹性搜索结果中排除具有属性$draft = 1的菜谱。

这是我的foq_elastica配置的一部分:

代码语言:javascript
复制
...
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: ~
....

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-09 15:11:34

好的,我自己找到了答案,如果有人有同样的问题,响应是在配置文件中指定一个查询生成器:

代码语言:javascript
复制
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: ~

并在返回的存储库中实现指定的方法。包的正式文档中的更多信息:https://github.com/Exercise/FOQElasticaBundle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19274989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档