Projet

Général

Profil

Actions

Feature #9852

fermé

Améliorer l'indexation

Ajouté par Yohann Chastagnier il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
Moteur de recherche
Début:
08/06/2018
Echéance:
% réalisé:

100%

Temps estimé:
Livraison en TEST:
Livraison en PROD:

Description

Il s'agit ici de faire en sorte que les readers/writers d'index soient gérés plus finement afin de ne pas tomber dans de malheureuses concurrences d'accès.

Mis à jour par Yohann Chastagnier il y a plus de 6 ans

  • Statut changé de In progress... à Resolved
  • % réalisé changé de 0 à 100

En surcouche à LUCENE, Silverpeas maintient un cache de lecteur d'index et un autre pour les écritures.

Même si les implémentations de LUCENE garantissent les concurrences d'accès entre les lectures et les écritures, les enchaînements des recherches et des mises à jour des contributions par les utilisateurs pouvaient mener à une situation instable, du fait de cette gestion de cache mise en place pour augmenter les performances.

Un premier travail a consisté à rendre plus robuste cette gestion de cache afin que la concurrence d'accès soit bien prise en compte dans toutes les situations.

Aussi, depuis la modification des indexes réalisée il y a quelques mois pour en réduire leur nombre (et en avoir un nombre fixe), la ré-indexation d'instance de composant ne permettait pas de supprimer les éventuels indexes concernant des contributions qui ne devraient plus être indexées (situations induites par d'autres anomalies). Ce point a été réglé.

Par ailleurs, il n'est plus nécessaire sur une ré-indexation totale de supprimer à la main le répertoire des indexes. Sur une telle ré-indexation, le répertoire des indexes est archivé via un simple renommage qui contient le moment auquel l'archivage a été effectué.
Par exemple index -> index_2018-06-08T153827.521
Libre ensuite aux administrateurs système de supprimer ou non le répertoire archivé.
Cette méthode d'archivage permet aussi de rétablir les indexes précédents si besoin.

Enfin, un nouveau paramètre a été mis en place dans le fichier de propriétés %SILVERPEAS_HOME/properties/org/silverpeas/index/search/searchEngineSettings.properties : index.reader.closeAfterLastSearch qui permet d'indiquer au moteur de recherche, si sa valeur est true, de fermer systématiquement les lecteurs d'indexes une fois que toutes les recherches sont terminées. Par défaut ce paramètre est à false.


PRs:

Mis à jour par Miguel Moquillon il y a plus de 6 ans

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Miguel Moquillon il y a plus de 6 ans

  • Statut changé de Integration in progress... à Closed
Actions

Formats disponibles : Atom PDF