FOSElasticaBundle : problèmes pour les requetes
Bonjour,
J'utilise FOSElasticaBundle, et j'e'ssaye de faire une requete qui me ramenera tous les objets ayant pour thème une certaine valeur.
Mon code de repository :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public function search(IdeeSearch $ideeSearch)
{
$query_part = new \Elastica\Query\MatchAll();
$filters = new \Elastica\Filter\Bool();
if($ideeSearch->getTheme() !== null){
$filters->addMust(
new \Elastica\Filter\Term(array('theme'=>$ideeSearch->getTheme()->getNom()))
);
}
$filtered = new \Elastica\Query\Filtered($query_part, $filters);
return $this->find($filtered,50); |
C'est assez simple et ca me génère des requetes de ce type :
Code:
1 2
|
{"query":{"filtered":{"query":{"match_all":{}},"filter":{"term":{"theme":"Economie"}}}},"size":50} |
A priori, ca devrait fonctionner, mais dés que j'ai un thème de défini, je n'ai plus aucun résultat, quelque soit le thème.
Voici mon fichier config :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
types:
Idee:
mappings:
id:
type: integer
updatedAt :
type : date
lastAction :
type : date
theme :
properties:
id :
type : integer
localisations:
type: "nested"
properties:
id :
type : integer
localisationsNiveau0: ~
localisationsNiveau1: ~
localisationsNiveau2: ~
localisationsNiveau3: ~
isVisible :
type : boolean
countCommentaires:
type: integer
title : { analyzer: custom_french_analyzer }
description : { analyzer: custom_french_analyzer }
content : { analyzer: custom_french_analyzer }
persistence:
driver: orm # orm, mongodb, propel are available
model: JaiUneIdee\SiteBundle\Entity\Idee
provider: ~
listener: ~ # by default, listens to "insert", "update" and "delete"
finder: ~
repository: JaiUneIdee\SiteBundle\SearchRepository\IdeeRepository |
Est-ce que vous y voyez plus clair que moi ?
Merci,
Pierre
PS : j'ai essayé en mettant l'id au lieu du nom pour le thème, même résultat. (le nom est stocké dans ES, donc c'est pour ca que je l'utilise)