IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[SolrBundle] Intégration à un projet [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Par défaut [SolrBundle] Intégration à un projet
    Bonjour,
    ça fait quelques jours que je galère à intégrer le SolrBundle de Florian Semm. Après avoir bataillé pour installé l'extension php solr sous wamp, configurer Solr pour qu'il tape dans ma base de donnée MySQL (qui d'ailleurs index bien et trouve quand je recherche tous, "*:*", mais ne trouve rien dès que je recherche un mot précis, je sais pas si ça peut avoir un rapport mais je me pencherai sur ce problème plus tard) et installé et configuré le SolrBundle.
    Pour info j'utilise tomcat en localhost sur le port 8080.
    Mon config.yml ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # Solr Configuration
    fs_solr:
        solr:
            hostname: localhost
            port: 8080
            path:
                collection1: /solr/collection1
        auto_index: true
        entity_manager: default
    Mon url Solr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:8080/solr/#/collection1
    Tout d’abord je ne sais pas si le bundle créé le schema tous seul en fonction des annotations dans les entités donc pour être sur au niveau de Solr j'ai mappé mes entités autan dans la configuration de Solr (schema.xml) et dans mes entités en annotation.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <?php
    namespace Societe\MonBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\Validator\Constraints as Assert;
    use Symfony\Component\Validator\ExecutionContext;
    use FS\SolrBundle\Doctrine\Annotation as Solr;
     
    use DateTime;
     
    /**
     * Entité adresse
     * 
     * @orm\Entity(repositoryClass="Societe\MonBundle\Model\TestRepository")
     * @orm\Table(name="test")
     * 
     * @Solr\Document(repository="Societe\MonBundle\Model\TestRepository")
     * 
     */
    class Test
    {
        /**
         * Id
         * @orm\Id
         * @orm\generatedValue(strategy="AUTO")
         * @orm\Column(type="integer", nullable=false)
         * 
         * @Solr\Id
         */
        private $id;
     
        /**
         * Code secret d'entrée à l'adresse
         * @orm\Column(type="string", length=16, nullable=true)
         * 
         * @Solr\Field(type="string")
         * 
         * @assert\MaxLength(16)
         */
        private $test;
     
        /**
         * Constructeur
         */
        public function __construct()
        {
        }
     
        public function getId() {
            return $this->id;
        }
     
        public function setId($id) {
            $this->id = $id;
        }
     
        public function getTest() {
            return $this->test;
        }
     
        public function setTest($test) {
            $this->test = $test;
        }
     
     
    }
    Et quand j’exécute la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console solr:synchronize "SocieteMonBundle:Test"
    Il me dit 4 documents non synchronisés (4 entrées en base) mais j'ai aucune erreurs et aucuns logs donc je n'arrive pas à trouvé pourquoi il ne me les synchronises pas ?

    Et j'ai un deuxième soucis, sur les ids de mes entités qui ne ce nomme pas id du coup quand je mappe "@Solr\Id" il cherche à me faire un getId qui n'existe pas, existe il une solution pour personnaliser le nom de l'id dans l'annotation du SolrBundle (pas d'exemple dans la doc)

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Par défaut
    Bon j'ai trouvé la solution ma bibliothèque php_solr.dll n'était pas compatible pour solr 4.0. C'est bon tous fonctionne...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Batch input intégration des projets
    Par Hiraa dans le forum SAP
    Réponses: 4
    Dernier message: 17/11/2011, 13h14
  2. [Rico] Intégration calendrier projet openRico
    Par mimic1373 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 10/09/2009, 12h11
  3. Intégration de projets externes dans Netbeans
    Par jproto dans le forum NetBeans
    Réponses: 3
    Dernier message: 09/01/2008, 07h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo