0

我想做一个查询,看起来都等于“某事”,但除此之外我可以按字段过滤:“idcategoria”、“idinstitucion”和“idtipooa”。

fos_elastica:
clients:
    default: { host: localhost, port: 9200 }
indexes:
    website:
        client: default
        types:
             ofertas:
                 mappings:
                     id: { boost: 3 }
                     nombreoa: { analyzer: snowball }
                     titulo: {boost: 3}
                     duracion: {boost: 3}
                     uniduracion: {boost: 3}
                     email: {boost: 3}
                     caracteristicas: { analyzer: snowball }
                     requisitos: ~
                     planestudio: ~
                     matricula: {boost: 3}
                     cuota: {boost: 3}
                     estado: {boost: 3}
                     dirigidoa: {boost: 3}
                     url: {boost: 3}
                     idareaestudio:
                        type: "nested"
                        properties:
                            nombre: { boost: 5 }
                     idcategoria:
                        type: "nested"
                        properties:
                            nombre: { boost: 5 }
                     idinstitucion:
                        type: "nested"
                        properties:
                            nombreinstitucion: { boost: 5 }      
                            nombresede: { boost: 5 }
                     idmodalidadoa:
                        type: "nested"
                        properties:
                            nombre: { boost: 5 }  
                     idniveloa:
                        type: "nested"
                        properties:
                            nombre: { boost: 5 } 
                     idtipooa:
                        type: "nested"
                        properties:
                            nombre: { boost: 5 }                   
                 persistence:
                    driver: orm
                    model: FrontEnd\AplicacionBundle\Entity\Oa
                    provider: ~
                    finder: ~
                    repository: FrontEnd\AplicacionBundle\Repository\OaRepository

我试过了:

> { 
"query": {
    "filtered": {
          "query":  {  "text": { "_all":   "Aboga"}},
   "filter": {  "term": { "idtipooa.nombre": "Universitaria" }}
}
}}

但它没有奏效。请如果有人可以帮助...谢谢!

4

1 回答 1

1

idtipooa是一个嵌套字段,因此为了搜索它,您需要将term过滤器包装到嵌套过滤器中。

于 2013-05-06T19:51:07.167 回答