Installation RBS Change : Gestion du multisite pour les recherche

  • 22021.1

    22/10/2010 15:55


    amoreau
    Rang : Membre
    Bonjour.

    J'ai traité comme 2 sites différents, mon site institutionelle et mon blog et je désirerais que les deux reste séparé. Comment faire pour garder cette séparation multisite en terme de base de donnée?

    Pour ma part je n'utilise pa solar mais mysqlindexer.

    Serait-ce possible d'avoir des informations sur la configuration pour mysqlindexer et sa mise en place?

    De la même façon, comment se fait-il que le contenu de mes pages ( texte dans des blocs richtext par exemple) ne soit pas pris en compte par le champs de recherche?
  • 22021.2 en réponse à 22021.1 écrit par amoreau

    25/10/2010 10:38


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Bonjour,

    la séparation des données est directement faite par RBS Change, que vous utilisiez mysqlindexer ou solr : les contenus du site institutionnel ne seront accessibles que depuis le moteur de recherche du site institutionnel et ceux du blog de même.

    Si vous avez des documents spécifiques indexés par contre et que vous voulez les associer à un site et pas un autre, il faut vous assurer que l'association est faite :
    - Pour un module "à rubrique", c'est automatiquement fait en fonction des rubriques utilisées
    - Pour un module "à dossier", il faut vous arranger pour que la méthode getWebsiteId() du service du document renvoie l'identifiant du site souhaité :

    - si tous les documents d'un type donné doivent être dans le même site, vous pouvez par exemple utiliser une étiquette ou une préférence globale,
    - sinon vous pouvez introduire une propriété de type modules_website/website qui permettra au rédacteur d'indiquer le site concerné.

    Les blocs richtext sont pris en compte lors de l'indexation de la page. Vérifiez bien que la page est marqué "indexable".

    Pour configurer mysqlindexer, voyez la FAQ d'installation

    Cordialement,
  • 22021.3 en réponse à 22021.2 écrit par Alexandre Simon

    29/10/2010 09:51


    amoreau
    Rang : Membre
    Bah en ce qui me concerne les contenus des blocs richtext ne sont pas intégrés dans la recherche et pourtant mes pages sont marquées comme "indexable".

    Il y a-t-il une manipulation à faire avec les ligne de commande change pour tenter de réinitialiser ca?
  • 22021.4 en réponse à 22021.3 écrit par amoreau

    29/10/2010 15:01


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Bonjour,

    si vous avez configuré l'indexation après la création de la page, c'est normal. Pour ré-indexer, utilisez la commande "indexer reset".
  • 22021.5 en réponse à 22021.4 écrit par Alexandre Simon

    03/11/2010 09:55


    amoreau
    Rang : Membre
    Les pages étaient déjà marqué comme indexable. J'ai refait un indexer reset par acquis de conscience mais cela ne fonctionne toujours pas.

    Pour vérification il suffit juste que dans mon fichier de config il y ait ces lignes?

    <define name="SOLR_INDEXER_URL">http://mon.site.com/mysqlindexer</define>
    <define name="SOLR_INDEXER_CLIENT">mon.site.com</define>
  • 22021.6 en réponse à 22021.5 écrit par amoreau

    03/11/2010 11:53


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Oui, c'est bien ça.

    Après avoir vidé les logs (clear-log), ré-indexez et vérifiez si vous n'avez pas d'erreur dans les logs.
  • 22021.7 en réponse à 22021.6 écrit par Alexandre Simon

    03/11/2010 14:04


    amoreau
    Rang : Membre
    Il y a effectivement une erreur dans les logs. Il est marqué plusieurs fois:

    Application.log a dit :
    2010-11-03 13:58:09 [EXCEPTION] Exception: indexer_PDFExtractor::getText: extractor task ended with exit code 127


    Si je regarde le fichier indexer.log, lui semble relativement normal(quelques problèmes avec des tags mais c'est tout).
  • 22021.8 en réponse à 22021.7 écrit par amoreau

    04/11/2010 09:41


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Bonjour,

    cette exception n'est pas bloquante. Il s'agit de l'indexation des contenus PDF qui échoue, faute de pouvoir appeler correctement le binaire pdftotext.

    Repérez une page dont les contenus richtext ne semblent pas indexés puis trouvez son identifiant : dans la liste principale, en haut à droite, cochez "Identifiant" pour faire apparaître la colonne.

    Repérez ensuite cette page dans la table "m_mysqlindexer_index" avec la colonne document_id.
    Deux possibilités :
    - la page n'y est pas, une erreur a du interrompre le processus d'indexation ; si vous avez des documents spécifiques, vérifiez par exemple que leur méthodes getIndexedDocument() ne génèrent pas d'erreur fatale.
    - la page y est, mais la colonne "text" ne contient pas votre texte. Vérifiez qu'il s'agit bien d'un contenu richtext de la page en regardant la colonne "content" de la table m_website_doc_page ou m_website_doc_page_i18n.
  • 22021.9 en réponse à 22021.8 écrit par Alexandre Simon

    04/11/2010 11:42


    amoreau
    Rang : Membre
    Il s'agit bien de bloc richtext.

    Pour ce qui est de la table m_mysqlindexer_index on ne trouve par contre pas le même texte.

    On a pour chaque page un titre et un sous titre qui est une surcharge de la page standard. Cependant lorsque l'on regarde la colonne text de m_mysqlindexer_index il se trouve que le seul texte référencé et le texte du sous titre.
  • 22021.10 en réponse à 22021.9 écrit par amoreau

    04/11/2010 11:55


    Alexandre Simon
    Titre : Développeur RBS Change
    Rang : Expert
    Regardez l'implémentation de getIndexedDocument() de votre document page.
    A priori, celle-ci doit être redéfinie et non achevée. Dans votre cas, une implémentation telle que la suivante doit convenir (en supposant que "subtitle" soit le nom de la propriété additionnelle) : appeler l'implémentation de base, en rajoutant la propriété "sous-titre".

    public function getIndexedDocument()
    {
       $indexedDoc = parent::getIndexedDocument();
       if (f_util_StringUtils::isNotEmpty($this->getSubtitle()))
       {
         $pageText = $indexedDoc->getText();
         $pageText .= " ".$this->getSubtitle();
         $indexedDoc->setText($pageText);
       }
       
       return $indexedDoc;
    }
    
  • 22021.11 en réponse à 22021.10 écrit par Alexandre Simon

    04/11/2010 18:03


    amoreau
    Rang : Membre
    Cela semble en effet corriger.

    J'ai importé tout le richtext dont je disposais et ma recherche semble fonctionelle.

    Merci beaucoup pour l'aide.

    PS: lors d'une recherche sur quoi se base la pertinence? car dans certain cas les mots sont exactement les mêmes mais la pertinence est quasiment nulle.
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1362 membres
Aucun membre connecté